[英]How to present UIViewController like Gmail or Wunderlist 2
[英]How to present an UIViewController like an actionSheet?
我想展示一个只占据屏幕下半部分的视图,背景视图保持可见,没有可能的交互。
就像一个UIAlertContoller
与actionSheet
风格。
如何在 Swift 中做到这一点?
将该视图创建为普通的 UIViewController,为其分配一个标识符,然后像这样实例化它:(尽管将其保留为成员变量,但您将需要它)
var controller = self.storyboard!.instantiateViewControllerWithIdentifier("yourIdentifier") as! UIViewController
然后你可以将它添加到你的父视图中
self.addSubview(controller)
不过要小心定位它,你可以把它整齐地设置在屏幕中间,比如
UIView.animateWithDuration(0.5, animations: {
controller.frame.origin.y = UIScreen.mainScreen().bounds.height/2
})
in
但是初始定位应该是持有视图的viewDidLayoutSubviews
方法,比如
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
controller.frame.origin.y = UIScreen.mainScreen().bounds.height
}
因为在viewDidLoad
,视图还没有真正正确的帧,它最终会处于错误的位置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.