【发布时间】:2018-03-10 06:52:19
【问题描述】:
我想从另一个视图控制器调用一个函数。
这里有 pubListViewController 中的代码:它工作正常。
override func viewDidAppear(_ animated: Bool) {
navigationBarTitleImage(imageTitle: "IconTitle")
}
func navigationBarTitleImage(imageTitle: String) {
// 1
// let nav = self.navigationController?.navigationBar
// 2
// nav?.barStyle = UIBarStyle.black
// nav?.tintColor = UIColor.yellow
// 3
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 10, height: 10))
imageView.contentMode = .scaleAspectFit
// 4
let image = UIImage(named: imageTitle)
imageView.image = image
// 5
navigationItem.titleView = imageView
}
现在我尝试在另一个视图控制器中调用它,如下所示,但它什么也没显示。
override func viewDidAppear(_ animated: Bool) {
pubListViewController().navigationBarTitleImage(imageTitle: "addTitle")
}
【问题讨论】:
-
您是否使用故事板?
-
你想要什么最终的操作?您的函数实际上正在调用,但它使用实例
pubListViewController()?正是你想要的? -
如果您正在创建视图控制器的新实例并访问其功能。它不会反映在您的 UI 中。
-
我只想使用第一个视图控制器中的函数来设置第二个视图控制器的标题图像,而不是将函数从第一个 VC 复制到第二个 VC。我做错了吗?
-
你在使用 segues 吗?
标签: swift function call viewcontroller