【问题标题】:Add a xib file to UITableView as a header within the UITableViewController将 xib 文件作为 UITableViewController 中的标头添加到 UITableView
【发布时间】:2018-09-24 15:13:51
【问题描述】:

我有一个UITableViewController 的子类,我的桌子很好,准备好了。 我的问题是,我想添加一个自定义 UIView 作为表格的标题。所以我创建了一个空的xib文件“HeaderView.xib”并在其中添加了我的视图(一个UIView和2个UIButton)并将UITableViewController的类添加为文件所有者,并将我的两个按钮连接到该类:

- (IBAction)addNewItem:(id)sender
{

}

- (IBAction)toggleEdittingMode:(id)sender
{

}

在一个类扩展中,我添加了一个 UIView 类型的属性:

@property (nonatomic, strong) IBOutlet UIView *headerView;

然后我重写了getter方法:

- (UIView *)headerView
{
    if (_headerView) {
        [[NSBundle mainBundle] loadNibNamed:@"HeaderView"
                                      owner:self
                                    options:nil];
    }
    return _headerView;
}

在 viewDidLoad 中:

self.tableView.tableHeaderView = self.headerView;

我不知道这是否是正确的方法,因为我在运行应用程序时看不到标题

感谢您的帮助

【问题讨论】:

  • 我该怎么做? :)

标签: ios objective-c uitableview


【解决方案1】:

您为headerView 实现getter 的方式将始终返回nil。这样的事情应该表现得更恰当:

- (UIView *)headerView {
    if (!_headerView) {
        _headerView = [[NSBundle mainBundle] loadNibNamed:@"HeaderView" owner:self options:nil].firstObject;
    }
    return _headerView;
}

您实际上需要将_headerView 设置为从loadNibNamed 返回的视图数组中的第一个对象。

【讨论】:

    猜你喜欢
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 2015-06-20
    • 2016-09-24
    • 1970-01-01
    相关资源
    最近更新 更多