UITextView|UITextView 光标定位定位
UITextView根据需求实现UITextField的placeholder效果,我通过添加默认提示文字并修改文字的颜色,监听键盘弹出时,修改光标定位
- (void)keyBordWillShow:(NSNotification *)note
{//在最上层避免被挡住
[self.view bringSubviewToFront:self.recommedTextView];
//如果是备注提示内容,则光标定位在第一位
if ([self.recommedTextView.text isEqualToString:NSLocalizedString(@"remark_content", nil)]) {
self.recommedTextView.selectedRange = NSMakeRange(0,
0);
}}
可是实现时候发现只有第一次进来的时候光标会在首位,查看日志,发现错误消息:
[Common] _BSMachError: port 80cb;
(os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
[Common] _BSMachError: port 80cb;
(os/kern) invalid name (0xf) "Unable to deallocate send right"
【UITextView|UITextView 光标定位定位】查询了解决方案之后,需要在主线程上修改光标定位,但是我比较疑惑的我设置断点调试,本来就是在主线程上的,为什么还需要再次回到主线程:
- (void)keyBordWillShow:(NSNotification *)note
{//在最上层避免被挡住
[self.view bringSubviewToFront:self.recommedTextView];
//如果是备注提示内容,则光标定位在第一位
if ([self.recommedTextView.text isEqualToString:NSLocalizedString(@"remark_content", nil)]) {
//在主线程中修改
dispatch_async(dispatch_get_main_queue(), ^{
self.recommedTextView.selectedRange = NSMakeRange(0,
0);
});
}}
推荐阅读
- 投稿|易车:互联网造车定位称王还是镜花水月
- 直播类app如何进行人群定位
- 定位重要吗(【原创37】)
- 盒子模型、浮动属性及定位属性
- 厉害了!通过 Java 技术手段,获取女朋友定位地址...
- python|python playwright之元素定位示例详解
- 糖醋蒜是不是无言
- 02|02 编写C语言,调用ffmpeg
- 【如何优化她】教你如何定位不合理的SQL(并优化她~~~)
- 九、固定定位