gpt4 book ai didi

ios - UIButton 在我的 UITableView 的标题中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:22 24 4
gpt4 key购买 nike

我不明白为什么这个 UIButton 在我的 UITableView 的 header 中不起作用。它出现在那里,但触摸不起作用。

NSLog 语句也没有触发。它几乎就像在另一个 View 或其他东西下面,因此您可以看到它,但按下操作不起作用。

感谢您对此的任何帮助

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

UIView *sectionHeader = [[UILabel alloc] initWithFrame:CGRectNull];
sectionHeader.backgroundColor = [UIColor clearColor];

[sectionHeader addSubview:self.topMapView];

// add map launch button
mapLaunchButton = [UIButton buttonWithType:UIButtonTypeCustom];
[mapLaunchButton addTarget:self
action:@selector(mapButtonTouch:)
forControlEvents:UIControlEventTouchDown];
[mapLaunchButton setTitle:@"ggggggg" forState:UIControlStateNormal];
mapLaunchButton.frame = CGRectMake(0, 0, 300, 90);
mapLaunchButton.backgroundColor = [UIColor redColor];

[sectionHeader addSubview:mapLaunchButton];


// [sectionHeader bringSubviewToFront:mapLaunchButton];

self.tableView.tableHeaderView = sectionHeader;

return sectionHeader;

}
- (void)mapButtonTouch:(id)sender {

NSLog(@"map button was touched");
}

最佳答案

我可以看到不止一个错误 -

  1. 如果您的表只有一个部分(以验证对 numberOfSectionsInTableView 委托(delegate)的检查),则删除此行 -

    self.tableView.tableHeaderView = sectionHeader;

  2. sectionHeader.frame 设置为适当的内容(不是 CGRectNull)。设置节标题(相对于表格标题 View )的好处是,当用户滚动表格行时,节标题将粘在顶部( float )并且不会消失。 (普通样式表)

  3. 还是没有解决问题,请验证他的方法-

    -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ 返回 50;//取决于 sectionHeader 的高度

  4. 正如其他发帖者所指出的,捕捉 UIButton 上的触摸事件 UIControlEventTouchUpInside 是首选事件。

编辑 -(作为表头 View 实现)

如果你想把它向上滚动,然后把它做成表头(不是节头)。因此,从 viewForHeaderInSection 中删除所有这些并将其放入 View Controller 类的 viewDidLoad 中。保留这一行(在这种情况下不要删除它)-

self.tableView.tableHeaderView = sectionHeader;

但是,上述第 2 点和第 4 点仍然成立。

关于ios - UIButton 在我的 UITableView 的标题中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19643475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com