HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 具有透明背景的UIModalPresentationFormSheet?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上我在这里希望模态表单是透明的,@R_406_9447@看到它背后的UIView(它是全屏).

这可能吗?将uIView设置为不透明,[UIColor clearColor]的BACkgroundColor不起作用.

我注意到当我从UIModalPresentationFormSheet切换到另一种演示样式时,我的视图的背景确实是透明的.

我哪里出错了?

解决方法

这对我有用:

[modalView.superview setBACkgroundcolor:[UIColor clearColor]];

它仍然会透明地调暗背景视图,但不会用纯灰色覆盖它.

………………………………………..

适用于iOS 8的更新

我以前的解决方案不再适用于iOS 8.
有很多步骤可以让这样的东西适用于iOS 8.所以我创建了一个很好的可重用解决方案:ModalController
https://github.com/koreyhinton/ModalController.

它真的很容易使用自动解散自己.

let modal = ModalController()
modal.content = myCustomView
presentViewController(modal,animated: true,completion: nil)

如果您对实现细节感兴趣,我就是这样做的:

使模态视图控制器占据整个屏幕,主视图的背景将在清晰和半暗之间切换.然后,您将拥有一个内容视图,该视图将以实心背景颜色为中心.我还使用了演示样式:.overCurrentContext,我在init方法中分配.

var content = UIView()

override func viewDidLoad() {
    super.viewDidLoad()
    view.BACkgroundColor = UIColor.clearColor()
    content.frame = CGRect(x:0,y:0,width:300,height:300)
    content.BACkgroundColor = UIColor.blackColor()
    view.addSubview(content)
}

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    view.BACkgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.7)
}

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)
    view.BACkgroundColor = UIColor.clearColor()
}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    content!.center = view.center
}

大佬总结

以上是大佬教程为你收集整理的ios – 具有透明背景的UIModalPresentationFormSheet?全部内容,希望文章能够帮你解决ios – 具有透明背景的UIModalPresentationFormSheet?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。