【TIP】如何让输入框光标出现在开头

直接来看这么一个需求:


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开发确实有挺多不起眼的技术点,希望在路上的小伙伴们看了有所帮助。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容