我有下一期:
这段代码效果很好:
// UITableViewController类
- (void)viewDidLoad
{
[super viewDidLoad];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 80)];
[v setBackgroundColor:[UIColor redColor]];
self.tableView.tableHeaderView = v;
}
结果: 但下一个代码不起作用:
// TopViewController类
@interface TopViewController : UIViewController
@end
// UITableViewController类
@property (strong) TopViewController *topBar;
@synthesize topBar;
- (void)viewDidLoad
{
[super viewDidLoad];
topBar = [[TopViewController alloc] init];
topBar.view.frame = CGRectMake(0, 50, 320, 80);
[topBar.view setBackgroundColor:[UIColor greenColor]];
self.tableView.tableHeaderView = topBar.view;
}
结果 - 只是空格
但是当我这样做时:
topBar.view.frame = CGRectMake(0, 50, 320, 400); // change height to 400
我有下一个结果:
有人可以解释这种奇怪的行为吗?