经过多年的避免界面生成器像瘟疫一样,我决定给它一个机会。这并不容易。
以UITableViewHeaderFooterView为例。和UITableViewCell一样,它有一个contentView属性。与UITableViewCell不同,它在Interface对象库中没有模板。
我们应该如何使用Interface来创建一个UITableViewHeaderFooterView,其中包含contentView中的内容?registerNib:forHeaderFooterViewReuseIdentifier:存在的事实使我认为这是可能的。
发布于 2013-10-03 15:16:12
这是使用IB定义UITableViewHeaderFooterView的最接近的方法:
a.创建一个UITableViewHeaderFooterView子类(MYTableViewHeaderFooterView)。
b.只为contentView (MYTableViewHeaderFooterContentView)创建一个nib文件。
c.重写MYTableViewHeaderFooterView中的MYTableViewHeaderFooterView以加载在nib文件中定义的视图。
- (instancetype)initWithReuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithReuseIdentifier:reuseIdentifier];
if (self)
{
NSArray* objects = [[NSBundle mainBundle] loadNibNamed:@"MYTableViewHeaderFooterView"
owner:self
options:nil];
UIView *nibView = [objects firstObject];
UIView *contentView = self.contentView;
CGSize contentViewSize = contentView.frame.size;
nibView.frame = CGRectMake(0, 0, contentViewSize.width, contentViewSize.height);
[contentView addSubview:nibView];
}
return self;
}d.注册MYTableViewHeaderFooterView类而不是nib文件:
[self.tableView registerClass:[MYTableViewHeaderFooterView class] forHeaderFooterViewReuseIdentifier:@"cell"];发布于 2013-10-28 12:27:19
我只是用一个页脚和一个NIB文件这样做的:
UITableViewHeaderFooterView视图的背景色设置为默认颜色。viewDidLoad中注册要与重用标识符一起使用的NIB文件:
[ forHeaderFooterViewReuseIdentifier:@"Footer"];:UINib nibWithNibName:@"CustomFooterView“bundle:niltableView:viewForFooterInSection:中,使用页脚标识符获取并返回视图:发布于 2014-08-27 11:00:25
我找到了更简单的方法。
1)创建UITableViewCell的子类并设置xib文件
2)在头文件中,将超类从UITableViewCell更改为UITableViewHeaderFooterView
就这样。
https://stackoverflow.com/questions/19162246
复制相似问题