我想为我的应用制作自定义键盘,并希望使用发送按钮设置角色。
如果我为所有按钮命名,例如* a,* b,* c,* d等会使一个IBAction接收发件人,抓住名称,例如* a>一个 ?如果是这样,这是怎么做的。
此外,按钮的名称可以如下* 0,* 1,* 2而不是* 0,* 1,* 2?
由于
答案 0 :(得分:1)
如果您想要在同一个IBAction上指向多个UIButton,然后提取按钮的文本标签,您只需使用发件人的currentTitle属性。
例如:
- (IBAction)padButtonClicked:(id)sender {
NSLog(@"Button pressed: %@", [sender currentTitle]);
}
答案 1 :(得分:1)
最好为按钮使用标签。
- (IBAction)buttonTapped:(id)sender {
NSLog(@"Button pressed: %i", sender.tag);
switch (sender.tag) {
case 0:
/* Button A Pressed */
break;
case 1:
/* Button B Pressed */
break;
/* and so forth... */
}
}
您需要在Interface Builder中或以编程方式设置标记。
答案 2 :(得分:1)
不,变量并没有真正起作用。您将对象本身与指向它的变量的名称混淆。当你的IBaction传递给UIButton对象时,它没有传递变量名,你的方法定义了引用它的变量sender
。不,变量名不能以Objective C中的数字开头。
以这种方式区分按钮的常用方法是在其上设置标记和分支。或者,您可以访问标题 - 这取决于您正在做什么。