我有一个名为Outer的UIViewController
非常简单的应用。我在该控制器上放置了一个容器,在这个容器内部我嵌入了另一个名为Inner的UIViewController
。
默认情况下,Inner是隐藏的,而Outer有一个按钮 - 当用户按下它时 - 将屏幕内部(通过将其属性hidden
更改为false)。
由于我将一些数据从外部传递到内部,因此到目前为止这是我的代码:
Outer.swift:
class Outer: UIViewController, ContainerToMaster {
var containerViewController: Inner?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "requestDetailsSegue" {
containerViewController = segue.destinationViewController as? Inner
containerViewController!.containerToMaster = self
}
}
@IBAction func openInnerButtonAction(sender: AnyObject) {
containerViewController?.changeLabel(description)
inner.hidden = false
}
}
Inner.swift:
protocol ContainerToMaster {
func changeLabel(text:String)
}
class Inner: UIViewController {
@IBOutlet weak var eventDescr: UILabel!
var containerToMaster:ContainerToMaster?
func changeLabel(description: String) {
eventDescr.text = description
}
}
现在我想在内部面板上添加一个按钮,在用户按下它后将其关闭。最好的方法是什么?