更改tableHeaderView框架,tableview的contentSize每次增加0.5

时间:2015-11-17 05:52:43

标签: ios objective-c uitableview

我使用以下代码

更改UITableView
CHANGE_FRAME_HEIGHT(header, CGRectGetMaxY(_lbFollowing.frame)+8)
_tableView.tableHeaderView= header;

但是每次调用这些代码时,tableivew的contentSize增加0.5

2015-11-17 12:30:41.881 yueban[42934:3092288] -[UserInfoHeaderView layoutSelfView] [Line 245] <UITableView: 0x61d00023e680; frame = (0 0; 320 519); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x604000298610>; layer = <CALayer: 0x6030002737c0>; contentOffset: {0, 0}; contentSize: {320, 474.00299978256226}>
<UserInfoHeaderView: 0x6160001d8880; frame = (0 0; 320 246.5); layer = <CALayer: 0x603000272f50>>

2015-11-17 12:30:41.903 yueban[42934:3092288] -[UserInfoHeaderView layoutSelfView] [Line 247] <UITableView: 0x61d00023e680; frame = (0 0; 320 519); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x604000298610>; layer = <CALayer: 0x6030002737c0>; contentOffset: {0, 0}; contentSize: {320, 474.50299978256226}>

为什么??

2 个答案:

答案 0 :(得分:1)

得到答案。重置reloadData

后,我需要致电tableHeaderView
_tableView.tableHeaderView=self;
[_tableView reloadData];

答案 1 :(得分:0)

应在 viewDidLoad 方法中调用流动代码一次。

我认为,你的代码是正确的,但不是正确的位置。

SysLog