Xcode 9.3.1中Launchscreen.storyboard的UIImageView PNG丢失Alpha通道
排查LaunchScreen中PNG Alpha通道丢失的问题
我碰到过不少开发者遇到这个问题,基本上都不是Xcode 9.3.1的bug,咱们先从几个常见的操作疏漏排查起:
- 检查UIImageView的
Opaque属性:在Launchscreen.storyboard里选中你的UIImageView,打开右侧Attributes Inspector面板,看看Opaque选项是不是被勾选了。如果勾选了,这个属性会强制视图不透明,直接忽略图片的Alpha通道,取消勾选就能恢复圆角效果。 - 确认图片的渲染模式设置:如果图片放在Asset Catalog里,选中图片后检查Inspector面板的
Render As选项,一定要设置为Original Image。如果选成了Template Image,Xcode会把图片的Alpha通道当成遮罩,自动用当前tintColor填充,看起来就像圆角消失了。 - 检查UIImageView的背景色:如果UIImageView设置了非透明的背景色,图片的Alpha区域会透出背景色,视觉上就像圆角没了。把背景色改成
Clear Color试试。 - 排查Content Mode的影响:如果UIImageView的Content Mode设置得不合适(比如
Scale To Fill导致图片拉伸变形),极端情况下可能让圆角边缘看起来异常,但一般不会直接让Alpha通道消失。可以先改成Aspect Fit或者Aspect Fill测试下。 - 清理Xcode缓存:如果以上都没问题,试试清理Derived Data(点击Xcode顶部菜单
Product->Clean Build Folder,或者手动删除~/Library/Developer/Xcode/DerivedData下的对应项目文件夹),然后重启Xcode重新运行。
如果所有步骤都试过还是出现问题,那才需要考虑是不是版本特定的小问题,但这种情况非常少见——Xcode 9.3.1作为一个稳定版本,这类基础渲染问题早就被修复了。
内容的提问来源于stack exchange,提问作者Hugo F
相关产品推荐
相关产品推荐

