今天在开发界面时候遇到个问题,我使用xib创建的视图view
- (FindBrotherView *)brotherView{
if(!_brotherView){
_brotherView =[[[NSBundle mainBundle]loadNibNamed:@"FindBrotherView" owner:self options:nil]lastObject];
_brotherView.frame =CGRectMake(0, 0, Screen_Width, 106);
}
return _brotherView;
}
然后我将brotherView 设置为了 self.tableView.tableHeaderView =self.brotherView;
这时候brotherView 的frame不生效,高度直接展示整个屏幕的高度,我在各个地方设置brotherView的高度,都没有效果,我直接懵逼了😳
然后我就自己使用纯代码写了一个view设置,正常,这时候我觉得应该就是因为是xib创建的view的原因导致的,但是如果我以后还想用xib创建的view来设置tableView.tableHeaderView怎么办。
这时候我想到了一个方法,我用代码创建一个view,作为父视图,将brotherView添加到上边,是不是就可以了。
UIView * fatherView =[[UIView alloc]initWithFrame:CGRectMake(0, 0, Screen_Width, 106)];
self.brotherView.frame =fatherView.bounds;
[fatherView addSubview:self.brotherView];
self.tableView.tableHeaderView =fatherView;
项目运行起来,显示正常,解决问题