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

时间:2015-04-01 15:16:20

标签: ios objective-c uitableview uibutton

我在Objective-C中学习UITableView。你能否告诉我如何从我的UIViewController类中访问UITableviewHeaderFooterView子类中的UIButton?以编程方式,因为我不使用IB。

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

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

2 个答案:

答案 0 :(得分:1)

不要在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;
}

答案 1 :(得分:0)

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

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