gpt4 book ai didi

IOS Swift - 使用容器 View 在 View Controller 之间传递数据

转载 作者:行者123 更新时间:2023-11-29 01:36:52 25 4
gpt4 key购买 nike

我对如何正确使用容器 View 有点困惑,我会尽力解释。

我有一个具有动画功能的主视图 Controller 。

import UIKit

class MainViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate {

// Run view setups
override func viewDidLoad() {
super.viewDidLoad()
}

func closePicker(){
self.view.layoutIfNeeded();
UIView.animateWithDuration(0.5, animations: {
self.countryPickerConst.constant = -206;
self.view.layoutIfNeeded();
})
}

}

在界面生成器中,我添加了一个容器 View 和一个新的 View Controller ,其中包含一个按钮,如下所示:

import UIKit

class ContainerViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}



@IBAction func runAnimation(sender: UIButton) {

//I want to call the function in my other view controller

}


}

在 runAnimation Action 中,我想调用 MainViewController 中的函数。如果我只是创建 MainViewController 的一个实例并调用该函数,它似乎会失去其“ self ”相关性。

如果有人能向我解释执行此类操作的最佳实践,那就太好了。

谢谢

最佳答案

根据您的解释,MainViewControllerContainerViewController 的父级,因此要从 ContainerViewController 访问 closePicker,您可以执行以下操作:

@IBAction func runAnimation(sender: UIButton) {
(self.parentViewController as! MainViewController).closePicker()
}

关于IOS Swift - 使用容器 View 在 View Controller 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32863362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com