我正在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:
来查找按钮。