1

我想在部分标题中放置一个信息灯按钮

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 20;
}  

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
  UIView *sectionHeaderView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 100, 20)];

  UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
  infoButton.frame = CGRectMake(0, 0, 18, 18); // x,y,width,height
  infoButton.enabled = YES;
  [infoButton addTarget:self action:@selector(infoButtonClicked:) forControlEvents:UIControlEventTouchUpInside];

  //Add the subview to the UIView
  [sectionHeaderView addSubview:infoButton];
return sectionHeaderView;
}
- (void)infoButtonClicked:(id)sender {
  NSLog(@"infoButtonClicked");
}

按钮没有响应。我不太清楚为什么。这可能是一件容易的事。任何帮助,将不胜感激。

4

2 回答 2

2

我尝试了与您完全相同的代码(复制并粘贴)到一个工作的 UITableView 类中,它工作得很好。我能够点击按钮并获得调试输出。所以你上面显示的代码很好,应该可以工作。你的课上肯定有其他问题。

于 2012-05-22T21:08:09.690 回答
0

好的。我偶然发现了我将分享给可能有类似问题的任何其他人的答案。

我有一个带有两个子视图的 UIViewController——一个 UIView 和 UITableView。在情节提要中,我将 UITableView 放在情节提要的文档大纲视图中。(可以使用左下角按钮打开的故事板左侧视图面板)。我认为这意味着 UITableView 是一个较低的层,如果你认为它是一堆层。

我切换了图层顺序(使 UIView 在文档大纲视图上更高)并且一切正常。

于 2012-05-22T21:25:44.973 回答