直接来看这么一个需求:
Screen Shot 2014-12-12 at 15.18.10.png
转发别人的信息时,为了带上别人已发的文字和名字,还要让用户便捷输入,这时候需要直接显示键盘并且把光标放在开头以便直接输入。来看这一段代码:
- (void)customInterface
{
self.title = @"转发";
[self.textView setPlaceholder:@"想说点什么"];
[self.textView setText:[NSString stringWithFormat:@"//%@:%@",_dynamic.nickname,_dynamic.content]];
self.textView.selectedRange = NSMakeRange(0 ,0);
[self.textView becomeFirstResponder];
}
NSMakeRange(0 ,0)
便可以使光标出现在开头的位置,同理NSMakeRange(textLenth ,0)
就可以随心所欲地让光标出现在任何位置。
插入表情的问题
大家用手机QQ的时候是不是发现输入表情只能添加到末尾,就算选中了位置,还是只能添加到末尾?就如下图一样。
Screen Shot 2014-12-12 at 15.47.11.png
因为QQ每次获取到的emoji标记,都是append在text后面的。下面我来给大家介绍一种方法,能够插入到光标上次停留的位置,代码很简单
_emojiPicker.emojiBlock = ^(NSString *text) {
NSLog(@"%i",_textView.selectedRange.location);
[_textView insertText:text];
};
哈哈哈,IM开发确实有挺多不起眼的技术点,希望在路上的小伙伴们看了有所帮助。