Ios swift容器视图和分段控制开关视图

时间:2015-02-19 10:21:06

标签: ios objective-c swift uisegmentedcontrol uicontainerview

我有分段控件和容器视图,现在我如何才能使2个视图和分段控件需要在容器视图中切换2个视图?

我无法找到swift或obj c的任何教程。

1 个答案:

答案 0 :(得分:2)

首先,进入容器视图的View Controller,确保您的两个视图是变量,可以通过Interface Builder或Code。 我们假设你打电话给他们view1view2

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(),它将切换您的视图。