什么是被后面的UIView的框架起源和大小的逻辑只读(What is the logic behin

2019-09-17 10:12发布

我知道,如果你要调整大小UIView你必须这样做,就像这样:

CGRect frame = view.frame;
frame.size.height -= 100;
view.frame = frame;

而不只是:

view.frame.size.height -= 100;

我的问题是什么可能是背后的逻辑? 对于二传手frame做一些额外的,如可能调用setNeedsDisplay

Answer 1:

基本上,它背后的原因,下面的线

view.frame.size.height -= 100;

实际上做以下两件事情:

  1. 呼叫[view frame]返回方法CGRect结构-什么是存储在您的视图副本
  2. 然后,它改变了height副本的领域-因此它不会影响存储在视图结构的价值

为框架做一些额外的二传手,如可能调用setNeedsDisplay?

其实是-视图的frame属性乃根据其来源,范围和改造,从而设置了框也会影响它的起源和边界(并根据视图的contentMode可能迫使视图重绘)



文章来源: What is the logic behind UIView's frame origin and size being read-only