2012-05-04 61 views
1

我有一個來自我的單元格的detailView,它就在那裏。我有2個UITextField,在一個類型值爲100的情況下,點是我想要另一個UITextField顯示「a + b」值。例如。在我的「a」文本字段中,我有一個值45,當我輸入「b」文本字段它假設動態更改,當我鍵入1時,它應該是46,當我輸入10時,它應該是55,100 - 145 。但我的問題是,它會得到「舊」的價值,所以當我輸入10時,它只會加1,當我輸入100時,它會加10.當我最終點擊屏幕上任何地方,鍵盤消失,然後它會得到正確的值,但它假設動態改變。有一段我的代碼:使用shouldChangeCharacterInRange方法無法在UITextField中獲得正確的值

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 


    NSString *calculator=[calculateField text]; 
    int modifyer = [calculator intValue]; 


    intProtein = [protein intValue]; 
    int prot = [protein intValue]; 


    self.intProteinResult = prot+modifyer; 


    [proteinTextField setText:[NSString stringWithFormat:@"%i", intProteinResult]]; 


    return YES; 
} 

是的,我也嘗試類同雷搜索主題,並沒有嘗試過其他方法stringByReplacingCharactersInRange:範圍withString:字符串。但我不知道如何使用它。請幫助,任何意見將不勝感激。

回答

1

使用此代碼的值賦給變量計算器:

NSString* calculator = [[calculateField text] stringByReplacingCharactersInRange: range withString: string]; 

以上應始終工作無論哪個角色被替換或編輯。

+0

非常感謝,meatcoder! –

相關問題