0

对于我的程序,我想要一组按钮,一个对应字母表中的每个字母。当用户按下按钮时,我希望将一个变量设置为按下按钮的值,并在许多字符串中执行对该值的搜索。如何仅访问 -(IBActon) 中按下的按钮的值,而不为每个按钮创建 26 个单独的插座?

4

2 回答 2

1

您可以设置 IBAction,以便将触发事件的按钮传递到方法中。您可以使用该参数来确定按下了哪个字母,并且对所有按钮只有一个操作:

- (IBAction)letterTapped:(id)sender {
    NSString *letter =  [sender titleForState:UIControlStateNormal];
    // do something with the letter
}
于 2012-07-15T23:33:47.133 回答
0

Stew 的回答简洁明了,尽管我想使用他的模板添加更多信息。

- (IBAction)letterTapped:(id)sender {
    NSString *character =  [sender titleForState:UIControlStateNormal];

    [self setLetter:character];
}

-(void)setLetter(NSString *)_aLetter{
    //your global variable that stores your letter
    globalLetterVariable = _aLetter;
}

或者您可以在方法本身内一次性完成。

- (IBAction)letterTapped:(id)sender {
    NSString *character =  [sender titleForState:UIControlStateNormal];
    //your global variable that stores your letter
    globalLetterVariable = character;
}
于 2012-07-15T23:43:25.833 回答