2013-02-22 52 views
1

我已經建立了一個簡單的if語句說,如果輸入的長度等於3使下一個字符爲「 - 」。以編程方式自動將一個整數添加到UILabel中?可能?

它運作良好,但我想在「 - 」自動被放在那裏之後,我按下按鈕,第3次。所以我按下「1」,「2」,然後當我按下「3」時,它會直接在後面自動放上一個「 - 」。目前只有當我第四次點擊按鈕時,「 - 」纔會被放置?

-(IBAction)buttonDigitPressed:(id)sender { 

    NSString *val = phoneNumberLabel.text; 
    int length = [val length]; 

    } else { 
     NSString *tagValue = [NSString stringWithFormat:@"%d", [sender tag]]; 
     phoneNumberLabel.text = [val stringByAppendingString: tagValue]; 

     if (length == 3) { 
      phoneNumberLabel.text = [val stringByAppendingString:@"-"]; 

     } 

     if (length == 7) { 
      phoneNumberLabel.text = [val stringByAppendingString:@"-"]; 
     } 

    } 

} 

任何幫助將不勝感激,大大!謝謝!

回答

1
-(IBAction)buttonDigitPressed:(id)sender { 

    NSString *val = phoneNumberLabel.text; 
    NSString *newValue = @""; 
    NSString *dash = @""; 

    int length = [val length]; 

    if (((length == 3) || (length == 7))) { 
    dash = @"-"; 
    } 

    newValue = [NSString stringWithFormat:@"%@%@%d", val, dash, [sender tag]]; 
    phoneNumberLabel.text = newValue; 
} 
+0

謝謝,克雷格!很多愛 - 這對我很有用。 – 2013-02-22 20:10:40

+0

非常歡迎你! – 2013-02-22 20:12:03

0

只需添加的代碼相同的方法更新與整數後的標籤。

1

添加以下代碼buttonClicked方法

if ([myLabel.text length] == 3) 
{ 
    myLabel.text = [val stringByAppendingString:@"-"]; 
} 
+0

我更新了上面的代碼,以幫助在我的問題得到。有任何想法嗎?非常感謝! – 2013-02-22 18:57:50

-1

您可以將按鈕的事件。像[button sendActionsForControlEvents:UIControlEventTouchUpInside] 甚至在延遲後執行選擇器可能會爲你做詭計。 這兩種情況你不需要按下按鈕

對於添加「 - 」只是檢查有多少個字符已輸入和何時輸入第三個字符添加「 - 」。

0

試試這個方法,希望這會幫助你。 使UILabel對象在xib中保持空白。

- (IBAction)pressAction:(UIButton*)sender 
{ 
    if (lbl.text.length<=2) { 
     lbl.text=[lbl.text stringByAppendingFormat:@"%i",sender.tag]; 
    } 

    if (lbl.text.length>=3){ 
     lbl.text=[lbl.text stringByAppendingString:@"-"]; 
    } 
} 
+0

@Sean赫爾曼試試這個方法 – Warewolf 2013-02-22 07:07:15

+0

我已經試過這一點 - 它不工作了我嗎?也許我錯過了一些東西。我更新了上面的代碼以幫助解決我的問題。檢查一下 - 也許我以前很難解釋。謝謝! – 2013-02-22 18:58:26

相關問題