在項目中,用到一個功能,就是不同文字和不同顏色字體選擇, 界面如下:,效果如下: 這個功能主要用到了textview的幾個代理辦法,其中一個重要的問題就是,在英文下和英文下的不同判斷方式,以及是否有追加字: 字體,顏色,字元用語封裝起來,便於後續操作, 在項目中,每個字元用一個對象保存在數組中。 我 ...
在項目中,用到一個功能,就是不同文字和不同顏色字體選擇,
界面如下:,效果如下:
這個功能主要用到了textview的幾個代理辦法,其中一個重要的問題就是,在英文下和英文下的不同判斷方式,以及是否有追加字:
字體,顏色,字元用語封裝起來,便於後續操作,
在項目中,每個字元用一個對象保存在數組中。
我們知道,中文在保存的時候占用兩個字元,英文咱占用一個,所以在回調方法的時候會掉用兩次
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text,
這個方法的用法是這樣子的,刪除和修改回條用這個方法的 粘貼什麼的夜會掉用這個方法 點擊鍵盤的自述的時候會條用 點擊預設追加的字不會條用這個方法,插入是用文本替換字元串 刪除時用空字元串替換文本,當輸入中文的時候 中國的時候 會出現條用8次 但是在文本與中之顯示zhong guo9個字元的現象出現 其中多出現一個字元 空格 這個時候 使用textViewDidChange來進行判斷數據的信息,其實做法是用text替換掉range中間的字元串
所有代理方法的用法:
所有代理就在這裡了,然後再在界面上顯示出來,就達到想要的效果了。
再發幾張效果圖: