繁体   English   中英

iPhone - UIView添加了一个subView vs drawRect?

[英]iPhone - UIView adding a subView vs drawRect?

添加视图作为subView VS在该视图的drawRect方法中绘制视图有什么区别?

我使用这两种方法,但我想知道除了明显的例如,如果你在drawRect中它将是一个单独的视图,而不是两个视图,或添加作为子视图更容易。 是否有任何特定的情况你绝对应该使用一个?

覆盖-drawRect:可以是绘制复杂UITableViewCell的好方法。 将所有子视图合成并绘制为一个视图有助于表格查看滚动性能无法估量。

话虽如此,我通常坚持使用最高级别的API,并且只有在性能受损时才下降到较低级别。

正如您所指出的那样,添加子视图会更容易,我确实认为这在90%的案例中都没有竞争。 您通常应该添加子视图,让库处理子视图在正确位置的绘制。

我只使用-drawRect:在我的视图中完成自定义绘图,但不绘制子视图,这会产生不必要的复杂性。 如果您需要很多性能, -drawRect:可以帮助您。 此外,在简单绘图的情况下, -drawRect:非常好,而不是制作几个子视图。 但总的来说,只需添加一个子视图就可以了。

如果将来您决定要让这些子视图接收触摸事件或以交互方式处理事物,则重构您的-drawRect:代码会更加困难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM