0

startという名前のボタンがあり、その名前が何であるかをメソッドで呼び出していることを知りたいのですが、その方法がよくわかりません。これは、ボタンが呼び出すメソッドです。

-(IBAction) startMotion: (id)sender {
    UIButton * buttonName = (UIButton *) sender;
    NSLog(@"Button Name:  %@", buttonName.currentTitle);
}

NSLogは

ボタン名:(null)

4

3 に答える 3

4

ボタンのタイトルを設定できます

[b setTitle:@"Start" forState:UIControlStateNormal];

タイトルを取得するには (currentTitle は読み取り専用で、nil の場合もあります):

[b currentTitle];

ところで、複数のボタンを区別したいだけなら、ボタンのタグ プロパティ (整数値) を設定するだけです。

また、viewController クラスでボタンが IBOutlet として指定されているかどうか、Interface Builder でアウトレットとして適切に接続されているかどうかを確認してください。

于 2010-11-12T18:30:43.623 に答える
2

ボタンのタイトルが異なる可能性がある場所でアプリをローカライズする可能性があるため、ボタンのタイトルを読み取るのではなく、特定のタグを設定してタグの値を比較します。

于 2012-05-08T09:51:27.917 に答える
1

Interface Builder で間違ったプロパティを使用していました。ボタン設定の title プロパティではなく、Interface Builder でボタンの name プロパティを使用していました。

于 2010-11-12T20:36:58.293 に答える