tableView + subView的高度突然改变

时间:2014-01-24 05:39:58

标签: objective-c xcode5

这是我的代码:

UIView * ivHeaderContainer = [[UIView alloc]init];
UIView * ivFooterContainer = [[UIView alloc]init];
UIImageView * ivHeader = [[UIImageView alloc]init];
UIImageView * ivFooter = [[UIImageView alloc]init];

PO1(self.tableHeaderView);
PO1(ivHeaderContainer);
self.tableHeaderView = ivHeaderContainer;
PO1(self.tableHeaderView);
PO1(ivHeaderContainer);
[ivHeaderContainer addSubview:ivHeader];
PO1(self.tableHeaderView);

以下是登录控制台:

(41)> ivHeaderContainer: <UIView: 0x1a497700; frame = (0 0; 0 0); layer = <CALayer: 0x1a497760>>
2014-01-24 12:15:11.441 domainname[13727:40ab] <0x1a490220 Image+imageFile.m:(30)> [NSString stringWithString: self.fullFileName]: /private/var/mobile/Applications/BF1CCA03-2406-4FC9-BE33-298AD6DBAC2C/tmp/http%3A%2F%2Fimg.agoda.net%2Fhotelimages%2F475%2F4755%2F4755_08091300010092992_std.jpg.png
2014-01-24 12:37:32.767 [13727:60b] <0x165ff400 BGTableViewWithBackgroundAndTopAndBottom.m:(43)> self.tableHeaderView: <UIView: 0x1a497700; frame = (0 35; 320 0); layer = <CALayer: 

所以,在行

之后
self.tableHeaderView = ivHeaderContainer

ivHeaderContainter的值突然[0, 35, 320, 0]而不是[0, 0, 0, 0]。不知道35来自哪里。

仅在一个xib上发生。 可能是什么原因?

功能PO1(打印对象1)只需打印出来。

只有在对表进行分组时才会发生这种情况。但其他分组表没有这个问题。

1 个答案:

答案 0 :(得分:0)

我用这个

声明了未来的tableViewHeader
UIView * ivHeaderContainer = [[UIView alloc]initWithFrame:CGRectMake(0,0,.01,.01)];

而不是

UIView * ivHeaderContainer = [[UIView alloc]init];

问题神奇地解决了。它遵循以下解决方案:Why is there extra padding at the top of my UITableView with style UITableViewStyleGrouped in iOS7

下一个问题。为什么呢?