iOS开发技术讨论ios 进阶iOS

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

2014-12-12  本文已影响1003人  千煌89

直接来看这么一个需求:


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

上一篇 下一篇

猜你喜欢

热点阅读