在UITextView實(shí)現(xiàn)的發(fā)布框中易茬,我們需要對一些特殊字符進(jìn)行處理疫蔓,比如輸入 @ 調(diào)起好友選擇列表腐巢,比如 輸入 # 插入話題列表 等,這些邏輯的實(shí)現(xiàn)可以放在如下回調(diào)方法里
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
// text 表示新輸入的字符腻脏,可能為@""鸦泳,range 表示光標(biāo)的范圍
這里需要注意的有以下幾點(diǎn):
- 在iOS 9 以下日月,如果點(diǎn)擊中文聯(lián)想輸入为障,不會調(diào)用該方法滑臊,為了防止這種情況瘤旨,可以把所有的邏輯都放在 textViewDidChange 里進(jìn)行處理栅表;
- 如果傳入的 text.length == 0, 表示現(xiàn)在在進(jìn)行刪除操作年缎,我們根據(jù)具體的業(yè)務(wù)邏輯進(jìn)行具體處理剿配。