如何访问UITableViewHeaderFooterView子类中的UIButton(或任何UIElement)



我正在Objective-C中学习UITableView。你能告诉我如何从UIViewController类访问UITableviewHeaderFooterView子类中的UIButton吗?程序上,因为我不使用IB.

完整代码:https://gist.github.com/tomnaz/3d790b308d305af8b98c

[[??? btnEdit] addTarget:self
                          action:@selector(addNewItem:)
                forControlEvents:UIControlEventTouchUpInside];

不要在viewDidLoad中这样做,而是在viewForHeaderInSection中这样做:在那里你有一个指向头部视图的指针。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    static NSString *headerReuseIdentifier = @"TableViewSectionHeaderViewIdentifier";
    ItemsHeaderView *sectionHeaderView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:headerReuseIdentifier];
    [sectionHeaderView.btnEdit addTarget:self action:@selector(addNewItem:) forControlEvents:UIControlEventTouchUpInside]; 
    return sectionHeaderView;
}

当您最初创建按钮时,您可以将它们存储在属性或数组中,以便以后可以轻松找到它们。

或者,您可以在按钮上设置tag,然后在UITableviewHeaderFooterView子类上调用viewWithTag:来查找按钮。

最新更新