我有一個UITextView,其中字符條目限制爲100個數字。當文本通過鍵盤輸入到文本視圖時,我可以使用textView:shouldChangeTextInRange:replacementText:方法跟蹤字符條目。 在我的情況下,用戶只需將按鍵上的字符輸入到文本視圖中,而不會中斷任何鍵盤操作。在這種情況下,上述委託方法不會被調用,所以我無法跟蹤文本視圖中的字符數,因此允許超過100個字符。 這種情況應該如何處理?請幫忙。在未通過鍵盤輸入時跟蹤UITextview中的文本更改
0
A
回答
1
你可以試試下面斯威夫特3碼: -
@IBAction func buttonClicked(sender: AnyObject) {
self.textView.text = self.textView.text + "AA" //suppose you are trying to append "AA" on button click which would call the below delegate automatically
}
//Below delegate of UITextViewDelegate will be called from keyboard as well as in button click
func textViewDidChangeSelection(_ textView: UITextView) {
if textView.text.characters.count > 100 {
let tempStr = textView.text
let index = tempStr?.index((tempStr?.endIndex)!, offsetBy: 100 - (tempStr?.characters.count)!)
textView.text = tempStr?.substring(to: index!)
}
}
0
據我所知,你有自定義按鈕,它將一些文本附加到textField的現有文本,對吧?
在這種情況下,你可以實現一個驗證方法
func validateString(string: String) -> Bool {
return string.characters.count <= 100
}
而且在shouldChangeCharactersInRange
方法使用它和按鈕的回調:
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
let currentString: NSString = (textField.text ?? "") as NSString
let newString = currentString.replacingCharacters(in: range, with: string)
return validateString(string: newString)
}
@IBAction func buttonPressed() {
let newString = textField.text + "a" //replace this line with your updated string
if validateString(string: newString) {
textField.text = newString
}
}
相關問題
- 1. 跟蹤鍵盤輸入
- 2. 跟蹤鍵盤輸入
- 3. 更改鍵盤輸入文字的Android
- 4. jQuery:輸入時更改鍵盤值
- 5. knockout.js事件跟蹤輸入文本框中的每個文本更改
- 6. 可以跟蹤文本在UITextView iPhone中進入下一行嗎?
- 7. Android edittext鍵盤更改輸入鍵
- 8. 更改輸入值在鍵盤上
- 9. XNA - 鍵盤文本輸入
- 10. UITextView自定義輸入(無鍵盤)iOS
- 11. Mongoid history_track寶石不跟蹤更改時嵌入文檔更改
- 12. 如何通過鍵盤通過鍵盤(WPF,C#)不允許空間,空白的,(「_」)charachter從文本框中輸入
- 13. 爲什麼當輸入的文本達到鍵盤級別時UITextView不滾動?
- 14. BlueJ的輸入和通過鍵盤
- 15. UITextView在輸入時隱藏文本
- 16. Swift:UIScrollView/UITextView在輸入文本時跳轉
- 17. 如何跟蹤FLA文件中的更改(通過版本控制)
- 18. 在QTreeWidget中跟蹤更改
- 19. actionscript 3跟蹤動態文本更改
- 20. 跟蹤更改爲純文本 - rails,jquery
- 21. 通過Visual Studio跟蹤更改的文件
- 22. 的承諾,而分期階段未跟蹤文件跟蹤文件更改
- 23. 跟蹤更改
- 24. 跟蹤更改
- 25. 跟蹤更改
- 26. 跟蹤更改
- 27. 如何更改java-ME鍵盤輸入
- 28. 將鍵盤輸入法更改爲unicode?
- 29. WinCE設備 - 更改鍵盤輸入法
- 30. jQuery - 相當於更改/鍵盤輸入