如何将视图添加到StoryBoard以在viewForHeaderInSection中使用?

时间:2016-01-09 15:32:01

标签: ios objective-c xcode uitableview uistoryboard

SectionView.xib只是一个单元格大小的填充标签:

enter image description here

@interface SectionView : UITableViewHeaderFooterView
{ 
   @property(weak, nonatomic) IBOutlet UILabel *newsCategoryTitle;
}

然后在viewForHeaderInSection中,我会设置标签并返回视图。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    SectionView *header = (SectionView *) [[self tableView] dequeueReusableHeaderFooterViewWithIdentifier:@"SectionView"];

    header.backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, header.bounds.size.width, header.bounds.size.height)];

    NSString *title;
    [[header newsCategoryTitle] setText:title];
    return header;
}

最后但并非最不重要的是,我会将sectionView.xib注册到包含TableView的viewCOntroller。

没有Storyboard我会在ViewController中注册sectionView.xib,如下所示:

[[self tableView] registerNib:[UINib nibWithNibName:@"SectionView" bundle:nil] forHeaderFooterViewReuseIdentifier:@"SectionView"];

我不知道如何以及如何在故事板中立即完成。

新的故事板只包含表格中的自定义单元格定义,但我还没有找到任何方法将故障板添加到故事板中。

enter image description here

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

我实际上非常接近。

而不是在

中注册nib
-(instancetype)initWithCoder:(NSCoder *)aDecoder

我必须在

中注册
- (void)viewDidLoad {

现在它完美无缺。我乐意接受更好的答案。

答案 1 :(得分:0)

从故事板制作自定义单元格并将其用作viewForHeaderInSection。

-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    static NSString *CellIdentifier = @"SectionHeader"; 
    UITableViewCell *headerView = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    return headerView;
}