自定义iphone键盘

时间:2011-01-12 17:57:19

标签: iphone uibutton

我想为我的应用制作自定义键盘,并希望使用发送按钮设置角色。

如果我为所有按钮命名,例如* a,* b,* c,* d等会使一个IBAction接收发件人,抓住名称,例如* a>一个 ?如果是这样,这是怎么做的。

此外,按钮的名称可以如下* 0,* 1,* 2而不是* 0,* 1,* 2?

由于

3 个答案:

答案 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中的数字开头。

以这种方式区分按钮的常用方法是在其上设置标记和分支。或者,您可以访问标题 - 这取决于您正在做什么。