我想从另一个视图控制器传递 UIView isHidden 属性
I want to pass UIView isHidden property from another view controller
我将 UIView 设置为隐藏在视图控制器(产品菜单)上,然后用户通过 tableview 单元格单击产品。当他们点击 return 到初始视图控制器时,我想让第一个 VC 中的 UIView 可见。
当我使用下面的代码时出现错误:线程 1:致命错误:在隐式展开可选值时意外发现 nil
{
//First View Controller
@IBOutlet weak var basketView: UIView!
.
.
self.basketView?.isHidden = true
//Second View Controller
@IBAction func returnBtn(_ sender: UIButton) {
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let menuCV = storyBoard.instantiateViewController(withIdentifier: "MenuViewController") as! MenuViewController
menuCV.basketView.isHidden = false
self.present(menuCV, animated: true, completion: nil)
}
}
在 vc 为 presented/loaded 之前,您无法访问任何插座,因为我将为零,所以
选项 1
menuCV.loadViewIfNeeded()
menuCV.basketView.isHidden = false
选项 2
添加布尔值
menuCV.hideBasket = false
然后在 MenuViewController
的 viewDidLoad
内设置
self.basketView.isHidden = hideBasket
我将 UIView 设置为隐藏在视图控制器(产品菜单)上,然后用户通过 tableview 单元格单击产品。当他们点击 return 到初始视图控制器时,我想让第一个 VC 中的 UIView 可见。
当我使用下面的代码时出现错误:线程 1:致命错误:在隐式展开可选值时意外发现 nil
{
//First View Controller
@IBOutlet weak var basketView: UIView!
.
.
self.basketView?.isHidden = true
//Second View Controller
@IBAction func returnBtn(_ sender: UIButton) {
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let menuCV = storyBoard.instantiateViewController(withIdentifier: "MenuViewController") as! MenuViewController
menuCV.basketView.isHidden = false
self.present(menuCV, animated: true, completion: nil)
}
}
在 vc 为 presented/loaded 之前,您无法访问任何插座,因为我将为零,所以
选项 1
menuCV.loadViewIfNeeded()
menuCV.basketView.isHidden = false
选项 2
添加布尔值
menuCV.hideBasket = false
然后在 MenuViewController
viewDidLoad
内设置
self.basketView.isHidden = hideBasket