ボタンをクリックしたときに、ビューベースのテーブルでボタンの行を取得するにはどうすればよいですか? ボタンをクリックしても行は選択されませんが、ボタンのアクションメソッドでsender.superview.superviewをログに記録すると、次のようになることがわかりました: NSTableRowView: 0x1001b3a90 - 行: 2しかし、プログラムでそれを取得する方法がわかりません。NSTableCellView のサブクラスにボタンのアクション メソッドがあります。
質問する
4233 次
5 に答える
10
-[NSTableView rowForView:]
そのドキュメントでこれを言います:
これは通常、NSButton (または NSControl) のアクション メソッドで、アクションを実行する必要がある行 (および列) を見つけるために必要です。
于 2012-04-18T09:59:19.817 に答える
1
ここでは、簡単な例を示します。これで、コンテンツ ビューに UIButton を追加しています。ボタンをクリックすると、メソッドが呼び出され、必要に応じて行番号と呼び出しが取得されます
//Adding a button
UIButton *btnBuyer=[UIButton buttonWithType:UIButtonTypeCustom];
btnBuyer.frame=CGRectMake(238, 10, 26, 32);
btnBuyer.tag=indexPath.row;
[btnBuyer setImage:[UIImage imageNamed:@"buyIcon.png"] forState:UIControlStateNormal];
[btnBuyer addTarget:self action:@selector(goBuyTab:)forControlEvents:UIControlEventTouchUpInside];
[cellNew.contentView addSubview:btnBuyer];
ユーザーがこれをクリックすると、次のメソッドからIDを取得しました
-(void)goBuyTab:(UIButton *)sender{
NSLog(@"after click buy button function called goBuyTab");
NSLog(@"sender.tag in goBuyTab : %d",sender.tag);
int selectedRow=sender.tag;// This is row number
}
これがあなたが要求したものであることを願っています。
于 2012-04-18T10:09:07.300 に答える
-1
osx では、コントローラーのボタン セル アクション メソッドでこれを使用できます。
- (IBAction)yourMethod:(NSButtonCell *)sender {
NSInteger selected = [yourTableView selectedRow];
NSLog(@"sender sends :%ld", selected);
}
コントローラから へのコンセントを設定する必要がありますNSTableView
。
于 2013-03-06T21:11:10.867 に答える