tableView viewForHeaderInSection
ユーザーがセクションのヘッダーにある 2 つのボタンをクリックできるようにする UITableView があります。1 つは新しいレコードを追加するためのもので、もう 1 つはそれらを編集するためのものですtableView 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");
}
アプリを実行すると、3 つの UIBarButtonItems が正しく表示され、クリックできますが、NSLog 行は呼び出されません。そこでUIToolbar
、nib ファイルに を直接追加し、それに 3 つのUIBarButtonItem
コントロールを追加し、onAddVehicleInterest
とonEditVehiclesInterest
をそれぞれのボタンに結び付けました。しかし、それもうまくいきません...
そこで、最後のテストとして、UIButton
ペン先に a を追加し、Touch Up Inside イベントをメソッドの 1 つに関連付けました。これは期待どおりに機能します。だから私は混乱しています。私は何を間違っていますか?