gpt4 book ai didi

objective-c - UIBarButtonItem 没有响应点击

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:29 25 4
gpt4 key购买 nike

我有一个 UITableView,我希望用户能够在该部分的标题中单击两个按钮,一个用于添加新记录,另一个用于编辑它们,所以我首先尝试使用 tableView viewForHeaderInSectiontableView heightForHeaderInSection 像这样:

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

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView* v = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 360, 44)];
UIToolbar* tb = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 360, 44)];

UIBarButtonItem* spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem* addBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(onAddVehicleInterest:)];
UIBarButtonItem* editBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(onEditVehiclesInterest:)];

[tb setItems:[NSArray arrayWithObjects:spacer, addBtn, editBtn, nil]];

[v addSubview:tb];
return v;
}

- (IBAction)onAddVehicleInterest: (id) sender {
NSLog(@"Add");
}

- (IBAction)onEditVehiclesInterest:(id)sender {
NSLog(@"Edit");
}

当我运行该应用程序时,我可以正确地看到三个 UIBarButtonItem,并且可以单击它们,但从未调用 NSLog 行。所以我直接在 nib 文件中添加了一个 UIToolbar,向其添加了 3 个 UIBarButtonItem 控件,并绑定(bind)了 onAddVehicleInterestonEditVehiclesInterest 到相应的按钮。但这也不管用...

因此,作为最后的测试,我向 Nib 添加了一个 UIButton 并将其 Touch Up Inside 事件绑定(bind)到其中一个方法,并且按预期工作。所以我很困惑。我做错了什么?

最佳答案

我在 View Controller 的父 View 上有一个 UITapGestureRecognizer。删除点击手势后,我的 UIBarButtonItems 开始正确响应所有选择器。

关于objective-c - UIBarButtonItem 没有响应点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12190231/

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