Ios swift 容器视图和分段控制开关视图
Ios swift container view and segmented control switch views
我有分段控件和容器视图,现在如何制作 2 个视图和分段控件需要在容器视图中切换这 2 个视图?
我找不到任何 swift 或 obj c 的教程。
首先,通过 Interface Builder 或代码进入容器视图的视图控制器并确保您的两个视图是变量。
假设您称它们为 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
}
}
然后,在包含分段控件的视图控制器中,将 IBAction(如果使用 IB)连接到控件的 ValueChanged
操作或使用代码。
IBAction 函数应如下所示:
@IBAction func tapped(sender: UISegmentedControl){
NSNotificationCenter.defaultCenter().postNotificationName("SCTapped", object: nil, userInfo: ["index": sender.selectedSegmentIndex])
}
这应该做的是,当 SC 被点击时,它会调用被点击的函数,该函数告诉 NSNotificationCenter post 一条消息。这应该由 VC 接收,其中包含视图,并且应该调用 segmentedControlTapped() ,它将切换您的视图。
我有分段控件和容器视图,现在如何制作 2 个视图和分段控件需要在容器视图中切换这 2 个视图?
我找不到任何 swift 或 obj c 的教程。
首先,通过 Interface Builder 或代码进入容器视图的视图控制器并确保您的两个视图是变量。
假设您称它们为 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
}
}
然后,在包含分段控件的视图控制器中,将 IBAction(如果使用 IB)连接到控件的 ValueChanged
操作或使用代码。
IBAction 函数应如下所示:
@IBAction func tapped(sender: UISegmentedControl){
NSNotificationCenter.defaultCenter().postNotificationName("SCTapped", object: nil, userInfo: ["index": sender.selectedSegmentIndex])
}
这应该做的是,当 SC 被点击时,它会调用被点击的函数,该函数告诉 NSNotificationCenter post 一条消息。这应该由 VC 接收,其中包含视图,并且应该调用 segmentedControlTapped() ,它将切换您的视图。