2013-10-31 29 views
0

我有一個用戶輸入貨幣的UITextField設置。我想將格式化應用於貨幣。 例如。如果用戶輸入了111,它應該顯示爲111.當用戶輸入一個數字時,應用程序應該能夠自動添加,並且值應該看起來像1,111如何在用戶輸入數字時在UITextField內格式化NSString值?

我可以通過將NSString轉換爲NSNumber格式化NSString,然後使用NSNumberFormatter 。 但是,我想在用戶輸入時執行此操作,而且我需要知道如何捕獲該事件。

+0

這不是重複的。你提到的帖子回答瞭如何格式化,但沒有談到捕捉事件。也許我需要更好地分析問題。謝謝。 – Shuki

+0

你看過重複中接受的答案嗎?它會告訴你如何去做。 – rmaddy

回答

1
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if (textField == YourCurrencyTextField) 
    { 
     //Do your conversion Here 
     return yourConverValue; 
    } 
else 
    { 
     return YES; 
    } 
} 

它會轉換輸入,打字時本身..這是完全爲我工作..

+0

感謝您的回覆,但不清楚您如何以及在何處連接此方法。 – Shuki

+0

@Shuki:這是TextFielDelegate,所以不需要調用這個方法。如果(textField == YourCurrencyTextField)這是您在條件內的第一個textField,那麼將您的textfield值轉換並將其分配給第二個TextField – TamilKing

2

發現了捕獲事件的方式:

通過控制+拖動創建目標行動從文本字段(在樓層上)進入控制器。

選擇事件爲「編輯已更改」,你很好走。

每次在文本框中輸入密鑰時都會調用此目標操作,並且可以在此處應用格式邏輯。

由於缺乏聲望點,無法上傳屏幕截圖。

相關問題