我有分段控件和容器视图,现在我如何才能使2个视图和分段控件需要在容器视图中切换2个视图?
我无法找到swift或obj c的任何教程。
答案 0 :(得分:2)
首先,进入容器视图的View Controller,确保您的两个视图是变量,可以通过Interface Builder或Code。
我们假设你打电话给他们view1
和view2
。
在viewDidLoad()
写(swift):
NSNotificationCenter.defaultCenter().addObserver(self, selector: "segmentedControlTapped:", name: "SCTapped", object: nil)
然后,创建一个这样的新函数:
func segmentedControlTapped(notif: NSNotification){
let index = notif.userInfo["index"] as Int
if index == 0{
view1.hidden = false
view2.hidden = true
}
else if index == 1{
view1.hidden = true
view2.hidden = false
}
}
然后,在包含分段控制的View Controller中,将IBAction(如果使用IB)连接到Control的ValueChanged
操作或使用代码。
IBAction功能应如下所示:
@IBAction func tapped(sender: UISegmentedControl){
NSNotificationCenter.defaultCenter().postNotificationName("SCTapped", object: nil, userInfo: ["index": sender.selectedSegmentIndex])
}
这应该做的是,当点击SC时,它将调用tapped函数,该函数告诉NSNotificationCenter发布消息。这应该由VC接收到其中的视图,并且应该调用segmentedControlTapped(),它将切换您的视图。