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

Ios swift container view and segmented control switch views

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

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

首先,通过 Interface Builder 或代码进入容器视图的视图控制器并确保您的两个视图是变量。 假设您称它们为 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
    }
}

然后,在包含分段控件的视图控制器中,将 IBAction(如果使用 IB)连接到控件的 ValueChanged 操作或使用代码。

IBAction 函数应如下所示:

@IBAction func tapped(sender: UISegmentedControl){
    NSNotificationCenter.defaultCenter().postNotificationName("SCTapped", object: nil, userInfo: ["index": sender.selectedSegmentIndex])
}

这应该做的是,当 SC 被点击时,它会调用被点击的函数,该函数告诉 NSNotificationCenter post 一条消息。这应该由 VC 接收,其中包含视图,并且应该调用 segmentedControlTapped() ,它将切换您的视图。