我想爲我的應用製作自定義鍵盤,並且希望使用發送按鈕來設置字符。自定義iphone鍵盤
如果我將所有的按鈕都命名爲例如* a,* b,* c,* d等將會有一個帶有發件人的IBAction,它抓住例如* a> a?如果是這樣,這是如何完成的。
此外,按鈕可以命名如下* 0,* 1,* 2而不是*零,* 1,* 2?
感謝
我想爲我的應用製作自定義鍵盤,並且希望使用發送按鈕來設置字符。自定義iphone鍵盤
如果我將所有的按鈕都命名爲例如* a,* b,* c,* d等將會有一個帶有發件人的IBAction,它抓住例如* a> a?如果是這樣,這是如何完成的。
此外,按鈕可以命名如下* 0,* 1,* 2而不是*零,* 1,* 2?
感謝
不,變量實際上並不這樣。您將對象本身與指向它的變量的名稱混淆。當你的IBaction傳遞給UIButton對象時,它不會傳遞一個變量名稱,你的方法定義了引用它的變量sender
。並且,變量名稱不能以Objective C中的數字開頭。
以這種方式區分按鈕的常用方法是在其上設置標籤和分支。或者,你可以訪問標題 - 這取決於你在做什麼。
如果你的意思是你想在同一IBAction爲指向多個UIButtons然後提取該按鈕的文本標籤,你可以簡單地使用發件人的currentTitle財產。
例如:
- (IBAction)padButtonClicked:(id)sender {
NSLog(@"Button pressed: %@", [sender currentTitle]);
}
您最好使用標籤爲您的按鈕。
- (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中或以編程方式設置標籤。
謝謝,和命名?可以一個按鈕被命名爲* 0 – jarryd 2011-01-12 18:06:50
@alJaree這只是一個文本標籤,所以我不明白爲什麼不。 – 2011-01-12 18:08:06
是否需要對當前標題進行某種類型的檢查,還是全部採用字符串格式? – jarryd 2011-01-12 18:12:06