我使用以下代码
更改UITableViewCHANGE_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}>
为什么??
答案 0 :(得分:1)
得到答案。重置reloadData
tableHeaderView
_tableView.tableHeaderView=self;
[_tableView reloadData];
答案 1 :(得分:0)
应在 viewDidLoad 方法中调用流动代码一次。
我认为,你的代码是正确的,但不是正确的位置。
SysLog