我不知道setneedsdisplay和uiviewcontentmoderedraw之间的区别,你什么时候使用它们,它们不是完全相同的东西吗?
问问题
3191 次
1 回答
9
它们是不同的东西。 setNeedsDisplay
是动词。用它来告诉视图它正在查看的东西的状态已经改变,所以它应该重绘(通过在运行循环的下一次迭代中调用它的 drawRect: 方法)。
contentMode
是视图的属性。它不会导致视图立即执行任何操作。它指定视图如何处理相对于其大小的内容。 UIViewContentModeRedraw
是可能分配给此属性的值。这意味着视图将通过导致自身重绘(通过调用setNeedsDisplay
自身)来呈现大小变化。
如果您计划对视图大小的更改进行动画处理,UIViewContentModeRedraw
这是一个昂贵的选择,因为它会在动画期间尝试从头开始重复重绘(而不是操作位图副本)。
于 2012-07-05T21:03:04.863 回答