[iOS]为View添加阴影,阴影却显示在View上的子控件上

在写UI时遇到一个需求,是要给一个View添加阴影,并且这个View上有一个Label,布局如下所示:

1.UI布局

本来很简单的一个需求,之前也做过。但是运行起来的效果却如下所示:


2.运行效果

显然,阴影并没有加到View上,而是加到了Label上,实现的代码并没有什么奇特之处:

3.实现代码

然后各种搜,也没有搜到解决方案,最后发现了问题所在:

4.View的背景颜色

将View的背景设置一个颜色后,就能达到想要的效果了:

5.想要的效果

具体原因还不清楚,在此记录以备忘。

其实,在布局时还是尽量少将控件的颜色设为Default,因为该控件的颜色就会继承为其父控件的背景色,容易出现一些意想不到的问题,比方说只设置了父控件的透明度,子控件的透明度也跟着改变了,而且关键是这种问题很难会想到是背景色导致的,比较难定位。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,898评论 25 709
  • 其一 其二 其三 其四 其五
    春余清歌阅读 230评论 6 5
  • “你这个还要吗?” 我鼓动着喉结,指着年青人放在地上喝空了的饮料瓶。年青人望着我,稍愣了一下,然后把瓶子递给了我。...
    行_客阅读 567评论 0 0
  • 其实世界上有许多人在等,有的是把人等,有的是被人等。而我更喜欢被人等。一个人如果失去了爱的人或物,就会感到十分空虚...
    哎等一下我吧阅读 242评论 1 1