簡體   English   中英

iOS-容器視圖控制器Swift

[英]iOS - Container View Controller Swift

我是iOS開發的新手。 在一個應用程序屏幕上,我想使用帶有2個細分的分段控件-例如A和B。A和B具有不同的UIView。 A具有表視圖,B具有UIImageView和textLabels。 我知道我需要使用Container View Controller。 但不確定如何。 如果我沒記錯的話,視圖控制器只能有一個嵌入式Segue-那么我如何獲得2個UIView。

我不了解目標C,因此很難將SO上類似問題的答案迅速翻譯成。 同樣也不想使用view.hidden = false&true,因為我從內存的角度看它不好。

有人可以分步說明需要做什么-如何使用loadChildViewController,didMovetoParentController等。情節提要會是什么樣子。 謝謝

一個容器只能有一個嵌入序列。 您必須創建2個容器,每個容器都有自己的序列。 或者,您可以從代碼中添加子控制器,只需創建UIView在其中將內容添加子視圖控制器並向其中添加子控制器的視圖。 我創建了示例項目來向您展示情節提要設置。

@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)

除了使用容器視圖之外,為什么不直接在IB中設置兩個視圖,然后基於分段的控制值設置視圖的hidden屬性。

請參閱此問題以獲取更深入的說明。 在這里提問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM