从底部滑入UIView

我正在尝试构建一个外观自定义的操作表。 我认为最简单的方法是将视图创建为子视图,并将子视图顶部的约束分配给superview的底部。 并同时指定具有一些不透明度的封面视图。 因此,我可以有不同版本的子视图,我可以初始化必要的版本并滑动它。

在此处输入图像描述 在此处输入图像描述

我找不到任何对Swift有用的东西,所以,使用这个obj-c答案 ,我试图将它转换为Swift。 我用这个实现了不透明的背景,但是翻译约束似乎不起作用。

var coverView = UIView() override func viewDidLoad() { super.viewDidLoad() coverView.backgroundColor = UIColor(white: 0.0, alpha: 0.4) coverView.alpha = 1.0 self.view.addSubview(coverView) self.view.bringSubviewToFront(coverView) } //doesn't work self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[coverView]|", options: kNilOptions, metrics: nil, views: NSDictionaryOfVariableBindings(coverView))) self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[coverView]|", options: kNilOptions, metrics: nil, views: NSDictionaryOfVariableBindings(coverView))) 

我在实例化视图和应用过渡动画时感到困惑。 如果我选择在ViewController下创建一个UIView,我无法调整约束来调整子视图的equal width到superview。

在此处输入图像描述

如何使用我创建的UIView作为Subview(在Storyboard中),然后调整其宽度约束,以便UI不会出错? 另外,我如何应用过渡动画,这似乎很自然?

这个链接应该在这里……

我建议您使用UIView xib文件并设计视图,然后在视图控制器中加载。

例如:

步骤1:

为视图创建xib 在此处输入图像描述

第2步:为此视图设置背景颜色为黑色,不透明度为62%,Alpha = 1 在此处输入图像描述

第3步:采用新的简单UIView并设计实际视图并设置约束。

对于Exp: 在此处输入图像描述

在你的案例中,在底部设置视图。 第4步:在视图控制器中加载xib。

 class calendarViewController: UIViewController { var popUpView: popUpView! override func viewDidLoad() { super.viewDidLoad() bookingConfirmView = NSBundle.mainBundle().loadNibNamed("popUpView", owner: self, options: nil).first as! popUpView // Set Delegate for xib textField self.popUpView.Name.delegate = self self.popUpView.MobileNo.delegate = self } } 

第5步:

将此行添加到要填充视图的位置。

 self.view.addSubview(bookingConfirmView) self.bookingConfirmView.frame = self.view.bounds