1
我有一個UITextView的空白測試應用程序,我已經添加了這個委託方法:在文本的開始更新的UITextView autocapitalizationType動態
func textViewDidChange(textView: UITextView) {
if textView.text.hasPrefix("Cap") {
textView.autocapitalizationType = .AllCharacters
} else {
textView.autocapitalizationType = .Sentences
}
}
如果用戶鍵入「帽」,我希望textView更改爲.AllCharacters的autocapitalizationType。如果他們刪除該前綴,它應該變回句子。
該代碼被調用但沒有兌現和鍵盤不會改變,以反映這一點。任何想法如何我可以推動textView更新大寫?
這確實有效,但不幸的是,對於製作應用程序來說並不是真的可行,因爲它很慢且很昂貴。我認爲這可能是我唯一的選擇,所以如果我沒有得到任何其他答案,我會將其標記爲正確的。謝謝! – ntesler
即使第二種方法對於@ntesler來說也很慢?我在這裏測試過了,因爲它沒有觸發辭職/當大寫字母類型已經是'.AllCharacters'時成爲第一響應者。 –
絕對是一種改進。我有很多在textViewDidBegin/EndEditing中執行的代碼,但是當我使用此解決方法時,我可以阻止它執行,這應該有所幫助。我會再次檢查一下Instrument,當調用這個函數時,系統不會做太多的代價。 – ntesler