直接來看這么一個(gè)需求:

Screen Shot 2014-12-12 at 15.18.10.png
轉(zhuǎn)發(fā)別人的信息時(shí),為了帶上別人已發(fā)的文字和名字,還要讓用戶便捷輸入,這時(shí)候需要直接顯示鍵盤并且把光標(biāo)放在開頭以便直接輸入。來看這一段代碼:
- (void)customInterface
{
self.title = @"轉(zhuǎn)發(fā)";
[self.textView setPlaceholder:@"想說點(diǎn)什么"];
[self.textView setText:[NSString stringWithFormat:@"http://%@:%@",_dynamic.nickname,_dynamic.content]];
self.textView.selectedRange = NSMakeRange(0 ,0);
[self.textView becomeFirstResponder];
}
NSMakeRange(0 ,0)便可以使光標(biāo)出現(xiàn)在開頭的位置,同理NSMakeRange(textLenth ,0) 就可以隨心所欲地讓光標(biāo)出現(xiàn)在任何位置。
插入表情的問題
大家用手機(jī)QQ的時(shí)候是不是發(fā)現(xiàn)輸入表情只能添加到末尾,就算選中了位置,還是只能添加到末尾?就如下圖一樣。

Screen Shot 2014-12-12 at 15.47.11.png
因?yàn)镼Q每次獲取到的emoji標(biāo)記,都是append在text后面的。下面我來給大家介紹一種方法,能夠插入到光標(biāo)上次停留的位置,代碼很簡(jiǎn)單
_emojiPicker.emojiBlock = ^(NSString *text) {
NSLog(@"%i",_textView.selectedRange.location);
[_textView insertText:text];
};
哈哈哈,IM開發(fā)確實(shí)有挺多不起眼的技術(shù)點(diǎn),希望在路上的小伙伴們看了有所幫助。