如何在场景驳接中获取对UIView的引用?

如何在场景驳接中获取对UIView的引用?,uiview,uiviewcontroller,uistoryboard,Uiview,Uiviewcontroller,Uistoryboard,我有UIViewController和2个UIViews(场景)在dock中: 如何在我的UIViewController中需要的任何位置显示它?换句话说,我如何从我的控制器中获取对此视图的引用?在我的UIViewController的代码中使用@IBOutlet保留引用: @IBOutlet weak var dockView: UIView! Swift 3,Xcode 8 1.创建引用 可以将UIView拖动到ViewController并为其创建插座。 2.显示视图 您希望将其作为

我有
UIViewController
和2个
UIViews
(场景)在dock中:


如何在我的
UIViewController
中需要的任何位置显示它?换句话说,我如何从我的控制器中获取对此视图的引用?

在我的
UIViewController
的代码中使用
@IBOutlet
保留引用:

@IBOutlet weak var dockView: UIView!
Swift 3,Xcode 8 1.创建引用 可以将UIView拖动到ViewController并为其创建插座。

2.显示视图 您希望将其作为子视图添加到视图中。我连接了你在我的场景中看到的两个按钮:

class ViewController: UIViewController {

    @IBOutlet var view1: UIView!
    @IBOutlet var view2: UIView!

    // SHOW THE VIEWS
    @IBAction func showView1(_ sender: UIButton) {
        view.addSubview(view1)
        view1.center = view.center
    }

    @IBAction func showView2(_ sender: UIButton) {
        view.addSubview(view2)
        view2.center = CGPoint(x: view.center.x, y: 100)
    }
}
3.隐藏视图的步骤 您必须将其从视图中删除。我为UIView上的关闭按钮创建了操作:

class ViewController: UIViewController {

    @IBOutlet var view1: UIView!
    @IBOutlet var view2: UIView!

    // SHOW THE VIEWS
    @IBAction func showView1(_ sender: UIButton) {
        view.addSubview(view1)
        view1.center = view.center
    }

    @IBAction func showView2(_ sender: UIButton) {
        view.addSubview(view2)
        view2.center = CGPoint(x: view.center.x, y: 100)
    }

    // HIDE THE VIEWS
    @IBAction func hideView1(_ sender: UIButton) {
        view1.removeFromSuperview()
    }

    @IBAction func hideView2(_ sender: UIButton) {
        view2.removeFromSuperview()
    }
}

希望这有帮助

嗨@Mark,你能告诉我如何从底部添加视图的动画吗。与视图继承人权限内的任何视图一样,我们可以创建约束的出口并设置该约束的动画。我们也可以对场景驳接中的视图执行此操作吗?@AwaisFayyaz,是的,首先将视图添加到当前视图控制器边界以下:view1.center=CGPoint(x:view.center.x,y:view.frame.height+view1.frame.height),然后使用新的中心值(如:UIView.animate)将其设置为动画(持续时间:0.4){self.view1.center=self.view.center}