我正在尝试实现UITableView的数据源方法:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
我在代码中完成了这项工作。如果可能的话,我希望能够在IB中进行更复杂的布局。首先,我添加了一个UISegmentedControl和一个UIButton。我的数据源方法如下:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
// Footer should just be on the last section in the grouped table.
if (section == kNotesSection) {
UINib *nib = [UINib nibWithNibName:@"DetailFooterView" bundle:nil];
NSArray *views = [nib instantiateWithOwner:self options:nil];
UIView *nibView = [views objectAtIndex:0];
[nibView addGestureRecognizer:tapGesture];
return nibView;
}
else {
return nil;
}
}
我能够在TableView的底部看到我的页脚视图。但是,没有发生用户交互。我点击按钮,我没有看到任何事情发生。所以我的第一个问题是,这是正确的方法吗?
第二个问题,我如何将目标/操作对与.xib相关联,因为我没有连接到.xib的出口或操作,就像我通常使用典型的UIViewController + .xib模板一样。这是我第一次尝试以这种方式使用分离的xib而不确定这些来龙去脉。谢谢!
答案 0 :(得分:0)
这样做:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
// Footer should just be on the last section in the grouped table.
if (section == kNotesSection) {
UIView *nibView = [[[NSBundle mainBundle] loadNibNamed:@"DetailFooterView" owner:self options:nil] objectAtIndex:0];
[nibView setUserInteractionEnabled:YES];
[nibView addGestureRecognizer:tapGesture];
return nibView;
else {
return nil;
}
}