我有一个名为dataviewcontroller
的视图控制器。另一种名为scopeviewcontroller
的视图控制器。
在dataviewcontroller
中,我有一个IBOutlet
的UIButton
,称为AddData
。我想在scopeviewcontroller
中调用此按钮。我想隐藏该按钮。
我在pager中使用了这个视图控制器。我想将AddData
按钮隐藏在第三页上的scopeviewcontroller
中。
我在viewdidload
中的scopeviewcontroller
中尝试了此代码。
但是我是否收到此错误:Value of type 'UIViewController' has no member 'AddData'
我在第一个视图控制器中的代码:
class dataviewcontroller: UIViewController {
@IBOutlet var AddData: UIButton!
}
我的第二个视图控制器:
class scopeviewcontroller: UIViewController,UITableViewDelegate, UITableViewDataSource {
override func viewDidLoad() {
super.viewDidLoad()
let storyboard = UIStoryboard(name: "data", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "dataviewcontroller")
controller.AddData.hidden = true
}
}
请帮帮我!...谢谢
最佳答案
您无需访问添加到寻呼机上的每个视图控制器上的按钮。您可以隐藏scopeviewcontroller
本身上的按钮。在CAPSPageMenuDelegate
的帮助下
在ScopeViewController中,设置您的寻呼机的委托。
fun viewDidLoad() {
super.viewDidLoad()
pageMenu.delegate = self
}
并实现协议
CAPSPageMenuDelegate
extension scopeviewcontroller: CAPSPageMenuDelegate {
func willMoveToPage(_ controller: UIViewController, index: Int) {
self.AddData.isHidden = (index == 2)
}
}
关于ios - 从一个类调用IBOutlet UIButton到另一个Viewcontroller,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45004596/