
所以我开始使用具有两个视图的IB构建我的应用程序,这两个视图通过“Present As Popover”segue连接,如下:
d出视图包含一个填充其超级视图的文本视图,具有以下约束:
为了支持模态popover,可以使用以下代码:
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle { return .OverFullScreen}func presentationController(controller: UIPresentationController,vIEwControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIVIEwController? { let navigationController = UINavigationController(rootVIEwController: controller.presentedVIEwController) controller.presentedVIEwController.navigationItem.setRightbarbuttonItem(UIbarbuttonItem(barbuttonSystemItem: UIbarbuttonSystemItem.Done,target: self,action: "done"),animated: true) return navigationController} 这给了我以下结果:
然后我尝试添加具有模糊效果的UIVisualEffectVIEw.起初我只是在显示的控制器视图中添加一个子视图,在检查了视图层次结构后,我意识到我的效果视图实际上是在我的文本视图之上,但是我的文本视图被正确放置了.所以我尝试了insertSubvIEw:atIndex:这样的方法:
func presentationController(controller: UIPresentationController,vIEwControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIVIEwController? { let effectVIEw = UIVisualEffectVIEw(effect: UIBlurEffect(style: .light)) as UIVisualEffectVIEw effectVIEw.setTranslatesautoresizingMaskIntoConstraints(false) controller.presentedVIEwController.vIEw.insertSubvIEw(effectVIEw,atIndex: 0) let vIEwList : [String : UIVIEw] = ["effectVIEw" : effectVIEw] let navigationController = UINavigationController(rootVIEwController: controller.presentedVIEwController) controller.presentedVIEwController.navigationItem.setRightbarbuttonItem(UIbarbuttonItem(barbuttonSystemItem: UIbarbuttonSystemItem.Done,animated: true) controller.presentedVIEwController.vIEw.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[effectVIEw]|",options: nil,metrics: nil,vIEws: vIEwList)) controller.presentedVIEwController.vIEw.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-[effectVIEw]|",vIEws: vIEwList)) return navigationController} 但我仍然无法呈现IB中定义的文本视图:
通过视图层次结构,我可以看到,当我在索引0处插入UIVisualEffectVIEw时,我的文本视图以某种方式移动到导航栏下方.
有关如何以编程方式将模糊效果设置在文本下方而不使其消失/移动到导航栏下方的任何想法?
干杯
这个功能对你有帮助吗?vIEw.insertSubvIEw(vIEw: effectVIEw,belowSubvIEw: label)总结
以上是内存溢出为你收集整理的swift – iOS 8:将具有模糊效果的UIVisualEffectView应用于紧凑模式下的模态PopOver全部内容,希望文章能够帮你解决swift – iOS 8:将具有模糊效果的UIVisualEffectView应用于紧凑模式下的模态PopOver所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)