【问题标题】:I want to pass UIView isHidden property from another view controller我想从另一个视图控制器传递 UIView isHidden 属性
【发布时间】:2019-10-20 15:08:19
【问题描述】:

我在视图控制器(产品菜单)上将 UIView 设置为隐藏,然后用户通过 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)

    }

}

【问题讨论】:

    标签: swift xcode uiview


    【解决方案1】:

    在显示/加载 vc 之前,您无法访问任何插座,因为我将是 nil 所以

    选项 1

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

    选项 2

    添加一个布尔值

    menuCV.hideBasket = false
    

    然后将其设置在 viewDidLoadMenuViewController

    self.basketView.isHidden = hideBasket
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 2020-09-22
      • 1970-01-01
      相关资源
      最近更新 更多