我想从另一个视图控制器传递UIView isHidden属性

时间:2019-10-20 15:08:19

标签: swift xcode uiview

我将UIView设置为隐藏在View Controller(产品菜单)上,然后用户通过tableview单元单击产品。当他们点击返回初始视图控制器时,我想使第一个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)

    }

}

1 个答案:

答案 0 :(得分:0)

在显示/加载vc之前,您无法访问任何插座,因为我将为零。

选项1

menuCV.loadViewIfNeeded()
menuCV.basketView.isHidden = false

选项2

添加布尔值

menuCV.hideBasket = false

然后将其设置在viewDidLoad的{​​{1}}内

MenuViewController