为啥这个视图会神奇地改变大小?
Posted
技术标签:
【中文标题】为啥这个视图会神奇地改变大小?【英文标题】:Why does this view magically change size?为什么这个视图会神奇地改变大小? 【发布时间】:2013-03-30 16:38:50 【问题描述】:我有一个带有 tableFooterView 的 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 突然变大了呢? parentView 根本不会改变大小。还是320 3。
【问题讨论】:
视图的边界是否改变? 在记录视图之前您的viewWillLayoutSubviews
是否会致电[super viewWillLayoutSubviews]
?
如果你继承一个普通的 UIViewController 你不需要调用它。但对于其他视图控制器,它可能是必要的。
除非你在做一些时髦的事情,否则我无法用给出的信息重现问题。多一点代码会有帮助
【参考方案1】:
问题正如 vikingosgundo 所说的那样。
我应该先调用 [super viewWillLayoutSubviews]
【讨论】:
以上是关于为啥这个视图会神奇地改变大小?的主要内容,如果未能解决你的问题,请参考以下文章