使用drawRect有什么影响

Posted StarainDou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用drawRect有什么影响相关的知识,希望对你有一定的参考价值。

用来画图,这个方法会在intiWithRect时候调用。
这个方法的影响在于有touch event的时候之后,会重新绘制,很多这样的按钮的话就会比较影响效率。以下都会被调用
1、如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。drawRect 掉用是在Controller->loadView, Controller->viewDidLoad 两方法之后掉用的.所以不用担心在 控制器中,这些View的drawRect就开始画了.这样可以在控制器中设置一些值给View(如果这些View draw的时候需要用到某些变量 值).
2、该方法在调用sizeToFit后被调用,所以可以先调用sizeToFit计算出size。然后系统自动调用drawRect:方法。
3、通过设置contentMode属性值为UIViewContentModeRedraw。那么将在每次设置或更改frame的时候自动调用drawRect:。
4、直接调用setNeedsDisplay,或者setNeedsDisplayInRect:触发drawRect:,但是有个前提条件是rect不能为0。

以上是关于使用drawRect有什么影响的主要内容,如果未能解决你的问题,请参考以下文章

使用 drawRect、setNeedsDisplay 和 layoutSubViews

对于drawRect使用,谨慎使用!

iOS中的drawRect

为啥 -drawRect 比为 UITableViews 使用 CALayers/UIViews 更快?

UIScrollView 中的 drawRect 方法

drawRect中的UILabel不绘制