2012-07-02 49 views
0

我正在創建一個計算器應用程序,該應用程序具有退格按鈕,只是在用戶意外鍵入一個數字之後。有沒有辦法去除發送給UILabel的最後一件事?刪除發送到UILabel的數據

肯定的是,我加入我的代碼,以顯示我目前在做什麼,

- (IBAction)digitPressed:(UIButton *)sender { 

    NSString *digit = sender.currentTitle; 
    if ([digit isEqualToString:@"."] && !_decimalPressed){ 
     self.display.text = [self.display.text stringByAppendingString:digit]; 
     self.historyDisplay.text = [self.display.text stringByAppendingString:digit]; 
     self.decimalPressed = YES; 
    } 
    else if (!_isUserInTheMiddleOfEnteringANumber){ 
     self.display.text = digit; 
     self.historyDisplay.text = digit; 
     self.isUserInTheMiddleOfEnteringANumber = YES; 
    } 
    else if (![digit isEqualToString:@"."]){ 
     self.display.text = [self.display.text stringByAppendingString:digit]; 
     self.historyDisplay.text = [self.display.text stringByAppendingString:digit]; 
    } 
} 

這我怎麼想獲得刪除最後一個元素

- (IBAction)backSpace:(id)sender { 



} 
+0

如何在您的問題中添加一些代碼以顯示如何將數字添加到「UILabel」中? –

回答

1

剛剛從刪除的最後一個字符在你的標籤內設置的字符串。示例代碼:

int numChars = myLabel.text.length; 
NSString* truncatedString = [myLabel.text substringToIndex:(numChars - 1)]; 
mLabel.text = truncatedString; 
0
​​
0
- (IBAction)backPressed:(id)sender { 
    self.display.text=[self.display.text substringToIndex:[self.display.text length] -1]; 
    if ([self.display.text isEqualToString:@""] || [self.display.text isEqualToString:@"-"]){ 
     self.display.text = @"0"; 
     self.userIsInTheMiddleOfEnteringANumber=NO; 
    } 

} 

加在一些常見的邏輯到代碼。如果您再次到達最後一個數字並返回空格,它將返回顯示文本爲0.由於它是一個計算器,假設您已創建負號(+/-),如果您留下-,則需要刪除並將其與0一起放置。因此,如果所有內容都放回到0,您還需要將userIsInTheMiddleOfEnteringANumber設置爲NO。