Jas*_*ues 6 objective-c uikit drawrect ios
我创建了一个包含一堆子视图的容器视图 - 一个集合视图,一个自定义工具栏和一些零碎的部分.
设计在顶部,左侧和右侧有一个边框,但不是底部,所以我覆盖了drawRect以包含边框.
当我添加工具栏时,我注意到它出现在边框的顶部.(出于某种原因,我最初认为它不会,但当然它确实如此!).
无论如何,我可以告诉drawRect绘制我的子视图的顶部?
当然还有很多其他方法可以解决我的问题(例如调整工具栏的框架)但是我问这个问题是为了深入了解绘图如何与合成和视图层次结构相关.
绘图发生在UIView的所有子视图下面.将其视为基础 - 视图的实际部分 - 然后将每个子视图添加到视图的顶部.要使子视图上方的绘图与希望子视图显示在视图下方,同时仍然是子视图一样.也许这个比喻更清楚为什么它必须始终在底层.它还会引导您从逻辑上解决问题:
要使绘图显示在子视图上方,只需创建一个新的UIView子类以将绘图代码放在其中,并将其置于所有其他子视图之上.
覆盖UIView的addSubview:实现可能也是一个好主意,以确保您的子视图始终保持最佳状态.
| 归档时间: |
|
| 查看次数: |
4821 次 |
| 最近记录: |