gpt4 book ai didi

ios - 如何在嵌入式容器之间从一个嵌入式 View 内部切换到另一个嵌入式 View ?

转载 作者:行者123 更新时间:2023-11-30 13:37:35 24 4
gpt4 key购买 nike

我有两个嵌入式容器重叠在一个 View Controller 的同一位置。我通过设置容器上的隐藏属性使它们可以互换,并使用段控件来设置两个嵌入式容器的隐藏状态,我已经做到了。我现在想要的是,当我在一个嵌入式容器 View 中切换按钮时,如何显示另一个嵌入式容器。两个嵌入 View 属于两个不同的 View Controller 类。我尝试在一个嵌入 View 上的按钮切换时设置隐藏属性,该按钮在父类中设置为 false,它显示“ fatal error :在展开可选值时意外发现 nil”,这意味着我没有初始化尽管创建了父 View Controller ,但“ChangePersonalInfo”是嵌入式容器,那么如何初始化它以设置隐藏属性。这是我的代码

class MiscellaneousDetailsViewController: UIViewController {
@IBAction func verifyPhoneNumber(sender: AnyObject) {
let vc = storyboard?.instantiateViewControllerWithIdentifier("MyProfileViewController") as! MyProfileViewController
vc.ChangePersonalInfo.hidden = false

}
}

class MyProfileViewController: UIViewController, SMSegmentViewDelegate
{
@IBOutlet weak var ChangePersonalInfo: UIView!
}
// parent view controller

最佳答案

您需要在 viewcontroller 的 viewDidload 方法中隐藏您的 View ,因为该方法在您的 View 加载并设置 view 的默认属性时调用, 默认情况下, View 的visible属性为true

override func viewDidLoad() {
super.viewDidLoad()

if (isViewHidden == true)
{ ChangePersonalInfo?.hidden = true

}



// Do any additional setup after loading the view.
}`

维护一个 bool 变量来设置隐藏的 true/false

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!)      {
let nextScene = segue.destinationViewController as! MyProfileViewController
nextScene.isViewHidden = true

}

关于ios - 如何在嵌入式容器之间从一个嵌入式 View 内部切换到另一个嵌入式 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35909870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com