在UIView上调用setFrame后,是否必须显式调用setNeedsDisplay?

Dmi*_*try 2 uiview ios

你必须显式调用setNeedsDisplay打完电话后setFrameUIView如图所示在下列情况下?

view1.frame = frame;
[view1 setNeedsDisplay];

[view2 setFrame:frame];
Run Code Online (Sandbox Code Playgroud)

ssa*_*tos 10

简答:

setNeedsDisplay当你需要调用方法时,你drawRect打电话,根据UIView Class Reference.-

更改框架矩形会自动重新显示接收器而不调用drawRect:方法.如果希望在框架矩形更改时调用drawRect:方法,请将contentMode属性设置为UIViewContentModeRedraw.

  • 不完全是:`UIViewContentModeRedraw通过调用setNeedsDisplay方法重定义边界更改视图.bounds属性不等于frame. (3认同)
  • 是的.一般来说,`dot + property`等同于属性setter (2认同)