我是iOS开发的新手。在其中一个应用程序屏幕上,我想使用带有2个段的分段控制 - 比如A& B. A& B有不同的UIView。 A有tableview,B有UIImageView和textLabels。我知道我需要使用Container View Controller。但不确定如何。如果我没有弄错,那么View Controller只能有一个嵌入式Segue - 那么我如何得到2个UIViews。
我不了解客观C,因此很难将类似问题的答案转换为SO。也不想使用view.hidden = false&是的,因为我从记忆的角度来看它并不好。
有人可以一步一步地解释需要做什么 - 如何使用loadChildViewController,didMovetoParentController等。故事板的外观如何。 感谢
答案 0 :(得分:4)
一个容器只能嵌入一个segue。你必须创建2个容器,每个容器都有自己的segue。或者您可以从代码中添加子控制器,只需创建UIView
,您希望在其中添加子视图控制器并向其添加子控制器视图。我创建了sample project来向您展示故事板设置。
@IBOutlet weak var containerView: UIView!
...
addChildViewController(controller)
containerView.addSubview(controller.view)
controller.view.setTranslatesAutoresizingMaskIntoConstraints(false)
var constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|[view]|", options: nil, metrics: nil, views: ["view" : controller.view])
constraints += NSLayoutConstraint.constraintsWithVisualFormat("V:|[view]|", options: nil, metrics: nil, views: ["view" : controller.view])
NSLayoutConstraint.activateConstraints(constraints)
controller.didMoveToParentViewController(self)
答案 1 :(得分:0)
为什么不在IB中设置两个视图,然后根据分段控制值设置视图的隐藏属性,而不是使用容器视图。
请参阅此问题以获得更深入的解释。 Question here