从底部滑入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