ios:图层显示在其托管视图之外

Posted

技术标签:

【中文标题】ios:图层显示在其托管视图之外【英文标题】:ios: layer is showed outside its hosting view 【发布时间】:2012-11-23 16:06:33 【问题描述】:

我已阅读 Apple Core Animation 文档。它说

Core Animation 不提供在窗口中实际显示图层的方法,它们必须由视图托管。与视图配对时,视图必须为底层图层提供事件处理,而图层则提供内容的显示。

但是我有一个问题,如下图所示:蓝色矩形是一个UIView,命名为blueView,灰色的是一个图层,它是blueView.layer的子图层。 blueView.frame 为 0,0320,180。灰色层的位置是100,190。因为 blueView 托管的是灰色层,所以我认为灰色层应该显示在 blueView 区域,因为我猜 blueView 是灰色层的画布。然而,在blueView外面却显示了灰色层,这是为什么呢?

【问题讨论】:

【参考方案1】:

出于性能原因,默认情况下“clipsToBounds”属性设置为 NO。这意味着无论是在父视图内部还是外部,都会绘制所有子视图/子图层。

【讨论】:

以上是关于ios:图层显示在其托管视图之外的主要内容,如果未能解决你的问题,请参考以下文章

iOS:当视图背景颜色为清晰颜色时,图层背景颜色不显示

在 iOS 上,如果一个视图有多个层,drawRect 可以只选择一个层来显示吗?

如何设计菜单类View IOS?

UIView 动画 iOS,诡异

在视网膜 iPad 上应用图层蒙版会隐藏所有

在 xib 文件视图之外设置视图以适应滚动视图 + 不同的 xib 用于方向 - iOs