有一些設計模式或最佳實踐可以在窗體中實現「不保存更改而退出」? 在我的Android應用程序中,我使用了布爾isChanged在視圖初始化時設置爲false,然後如果用戶關注文本字段並更改文本,我將新文本與舊文本進行比較,如果不匹配,我把布爾值設爲true。在「關閉」按鈕的壓力下,我檢查布爾值,如果這是真的,應用程序會詢問用戶是否真的要關閉視圖。如何知道何時更改文本框而不保存
回答
您可以使用您的viewController類的UITextField委託方法。
當用戶水龍頭的文本字段調用此方法
- (void)textFieldDidBeginEditing:(UITextField *)textField{
//Set the boolean false here.
}
當用戶輸入時調用此方法。
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string{
}
當用戶停止鍵入和鍵盤返回時,這個方法被調用。
- (void)textFieldDidEndEditing:(UITextField *)textField{
// Set the boolean true here
}
如果布爾值爲true,則將當前值與舊值進行比較並確定流量。
if(boolean){
NSString *currentString = textfield.text;
if([previousString isEqualToString:currentString])
NSLog("not edited");
}
是的,那是真的。我在表單上也有一個可編輯的文本字段。我如何知道它是否已被編輯? –
一旦布爾值爲true,您可以比較以前和當前文本值,如果它們不同,那麼文本字段已被編輯。看到我編輯的答案 –
嘗試使用TextfieldDelegate功能- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
是的,這是真的。我在表單上也有一個可編輯的文本字段。我如何知道它是否已被編輯? –
- 1. 如何知道文本框何時被修改?
- 2. 如何知道可編輯JComboBox的文本何時更改?
- 3. 如何知道timeStamp何時更改?
- 4. 如何知道ItemsSource何時更改?
- 5. 如何知道@Input何時更改?
- 6. 不知道保存文件
- 7. 我如何知道沒有Textchanged事件的文本框的文本更改
- 8. 不知道如何保存在MongoDB中
- 9. 如何知道用戶關閉打開對話框而不保存?
- 10. 如何知道何時在文本框中按下回車鍵?
- 11. 如何在文本區域包含更改而不保存更改時獲取警報?
- 12. 在vba如何在保存文件時更改擴展名,不知道確切文件名
- 13. 如何將GoogleMapsZoomLevel更改爲文本框而不是滑塊
- 14. 如何更改JQuery以使用標籤而不是文本框?
- 15. 推送通知頻道何時更改?
- 16. 如何更改選擇框內的文本名稱而不更改選擇?
- 17. GWT如何更改文本框而不運行更改處理程序
- 18. 任何人都知道如何以編程方式更改選取框屏幕保護程序的文本?
- 19. 如何獲取文本框的id或類如果不知道
- 20. 我不知道如何獲取文本
- 21. 如何知道什麼時候搜索欄的文本改變
- 22. 在運行時添加文本框並保存更改
- 23. 如何更改通知文本?
- 24. 不知道如何同時
- 25. 如何知道文本是否比文本框大?
- 26. Safari如何知道何時提示用戶保存密碼?
- 27. 如何知道文本IX更換或無法在富文本框
- 28. 如何在文本框中輸入時更改標籤文本
- 29. 如何保存更改-Android
- 30. 續集如何保存而不更改updatedAt?
你也可以用iOS做同樣的事情。檢查UITextFieldDelegate方法。 – Apurv
嘗試' - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)範圍replacementString:(NSString *)string'UITextField'的委託方法,它將調用每個字符更改。 – Akhilrajtr