制作弹出视图的更好方法

时间:2017-04-03 13:44:12

标签: ios swift uiview alpha subview

我们假设我们想在屏幕上显示一些popup视图。当用户单击按钮时,我们的视图会弹出。在popup视图中,我们有Close按钮隐藏/删除视图本身。

我应该使用哪种方法来做这种事情:

1。)点击按钮后,将popup视图添加到我的主视图中。 Close按钮从superview中删除弹出视图。

2。)使用popup进行alpha = 0视图,然后点击按钮更改alpha = 1Close按钮更改alpha to 0

当我通过多次点击按钮添加和删除view时,我注意到应用程序开始变慢。 如果你知道做这种事情的好方法/方法(在另一个视图中显示视图/视图),那将是非常有用的。

1 个答案:

答案 0 :(得分:0)

实际上,UIKit将非常低的alpha元素视为隐藏但隐藏的元素仍然参与自动调整和与视图层次结构相关的其他布局操作。为了保存您的效果,我建议您在显示/隐藏视图时使用addSubview / removeFromSuperview方法。

您还可以将ViewControllers与标准动画一起使用,如:

    let presentedVC: ViewController = self.storyboard?.instantiateViewControllerWithIdentifier("presentedVC") as ViewController
    presentedVC.modalPresentationStyle = .OverCurrentContext
    presentedVC.view.backgroundColor = UIColor.clearColor()
    self.presentViewController(presentedVC, animated: true, completion: nil)

当您在presentVC内点按“关闭”时使用:

self.dismiss(animated: true, completion: nil)