为什么这个视图会神奇地改变大小?

3
我可以帮忙翻译。这段文字的意思是:有一个包含表格底部视图的tableView。在viewDidload方法中:
 <UIView: 0x6c87a70; frame = (0 325; 320 3); autoresize = TM+BM; layer = <CALayer: 0x6c87aa0>>
  <UIImageView: 0x6c87b60; frame = (31 0; 257 3); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6c87ba0>> - table_pull_refresh_footer.png

在viewWillLayoutSubviews中我看到的是:
<UIView: 0x6c87a70; frame = (0 325; 320 3); autoresize = TM+BM; layer = <CALayer: 0x6c87aa0>>
 <UIImageView: 0x6c87b60; frame = (31 0; 320 3); autoresize = W+H; userInteractionEnabled = NO; layer = <CALayer: 0x6c87ba0>> - table_pull_refresh_footer.png

那么为什么UIImageView突然变大了?父视图的大小并没有改变。它仍然是320 3。


视图的边界会改变吗? - DrummerB
1
你的 viewWillLayoutSubviews 在记录视图之前是否调用了 [super viewWillLayoutSubviews] - vikingosegundo
如果你从一个普通的UIViewController子类化,你就不需要调用它。但是对于其他视图控制器可能是必要的。 - vikingosegundo
除非你在做一些奇怪的事情,否则我无法根据提供的信息重现这个问题。更多的代码会有所帮助。 - CodaFi
1个回答

0

问题正如vikingosgundo所说的那样。

我应该先调用[super viewWillLayoutSubviews]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接