【发布时间】:2025-12-12 20:40:01
【问题描述】:
我有一个非常简单的应用程序,其中有一个名为 Outer 的 UIViewController。我在该控制器上放置了一个容器,并在该容器内嵌入了另一个名为 Inner 的 UIViewController。
默认情况下,Inner 是隐藏的,并且 Outer 有一个按钮,当用户按下它时,它会在屏幕上显示 Inner(通过将其属性 hidden 更改为 false)。
由于我将一些数据从外部传递到内部,因此这是我目前的代码:
外部.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
}
}
现在我想向内部面板添加一个按钮,在用户按下它后将其关闭。最好的方法是什么?
【问题讨论】:
标签: ios swift uiviewcontroller