iOS7光标问题

iOS7光标问题

有网友遇到textView在ios7上出现编辑进入最后一行时光标消失,看不到最后一行,变成盲打,stackOverFlow网站上有大神指出,是ios7本身bug,加上下面一段代码即可(网友调试得出,在此mark一下,有问题,欢迎大神们指出)


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

-(void)textViewDidChange:(UITextView *)textView {

    CGRect line = [textView caretRectForPosition:

                   textView.selectedTextRange.start];

    CGFloat overflow = line.origin.y + line.size.height

    - ( textView.contentOffset.y + textView.bounds.size.height

       - textView.contentInset.bottom - textView.contentInset.top );

    if ( overflow > 0 ) {

        // We are at the bottom of the visible text and introduced a line feed, scroll down (iOS 7 does not do it)

        // Scroll caret to visible area

        CGPoint offset = textView.contentOffset;

        offset.y += overflow + 7; // leave 7 pixels margin

        // Cannot animate with setContentOffset:animated: or caret will not appear

        [UIView animateWithDuration:.2 animations:^{

            [textView setContentOffset:offset];

        }];

    }

}

时间: 2024-11-05 20:29:04

iOS7光标问题的相关文章

IOS 键盘的显示与关闭,以及移动显示(UITextView处理完整版)

IOS 键盘的显示与关闭 在每一个IOS应用中,几乎不可避免的要进行文本输入操作,例如要求用户填写登陆注册信息,进行话题的评论回复,等等.用到的文本输入组件有UITextField,UITextView,对于这两个组件的相关属性和方法想必大家都很熟悉,但貌似对于键盘的显示或隐藏过程貌似常常不是很清楚,其实本人也是一知半解,所以趁此做简单的总结,基本上以下描述出自于官方的文档,并没有什么更改. 1.开启键盘面板 当用户触击某一个view时,系统会自动指定该view为第一响应对象(first res

iOS7 UITextView 光标问题

最近在项目中遇到UITextView在ios7上出现编辑进入最后一行时光标消失,看不到最后一行,变成盲打,stackOverFlow网站上有大神指出,是ios7本身bug,加上下面一段代码即可: 1 -(void)textViewDidChange:(UITextView *)textView { 2 CGRect line = [textView caretRectForPosition: 3 textView.selectedTextRange.start]; 4 CGFloat overf

ios7 中代码创建 ScrollView TextView 等,默认向下缩进的解决办法

这个问题,记得以前困扰了好久.表现出来的现象就是 ScrollView 中的 ContentView 会往下移动一段距离,现在 textView 也是如此,会自动将光标下移. 后来发现这个距离差不多是 NavigationBar 的高度,才从这里找问题,最终找到了. @property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES 需要设置

iOS7以后UITextView 技巧

坑1:iOS7及以上的版本上,UITextView出现这样的问题:弹出键盘时,没输入任何文字,但是光标位置不是在最上方. 解决方案: iOS7以后新增了一个属性automaticallyAdjustsScrollViewInsets,将其置为NO即可.别忘了加版本判断. if (IOS7_And_Later) { self.automaticallyAdjustsScrollViewInsets = NO; } 坑2:iOS7及以上的版本上,UITextView输入中文时,在输入多行后,光标有时

UISearchBar 光标不出现的问题

去掉搜索框背景的代码(支持ios6/7/8) for (UIView *view in self.mySeachBar.subviews) { if ([view isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) { [view removeFromSuperview]; break; } if ([view isKindOfClass:NSClassFromString(@"UIView")]

vi光标移动命令之一

一.概述 vi中基本的光标移动命令有:h.j.k.l. 其中,h为光标左移1位,j为光标下移1行,k为光标上移1行,l为光标右移1位. 上述命令支持"数字+命令"格式,1次移动多位(行). 二.示例 初始状态 01234 0123 012 运行命令:l 01234 0123 012 运行命令:3l 01234 0123 012 运行命令:j(注意:第1行位数多于第2行,运行j命令,光标移至下1行最后1位) 01234 0123 012 运行命令:k(注意:第1行位数多于第2行,运行k命

iOS7中计算UILabel中字符串的高度

iOS7中出现了新的方法计算UILabel中根据给定的Font以及str计算UILabel的frameSize的方法.本人提供category如下: UILabel+StringFrame.h ////  UILabel+StringFrame.h//  LabelHeight////  Copyright (c) 2014年 Y.X. All rights reserved.//#import <UIKit/UIKit.h>@interface UILabel (StringFrame)- 

第一个app-进阶:1、让EditText屏蔽软键盘仍能光标闪动:2、EditText 的inputType参数类型(密码方式-隐藏显示、只允许输入数字等等)

EditText屏蔽软键盘后,光标消失问题 开始我有个需求:屏蔽系统软键盘 于是找到并使用这个方法: //edit_text1.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出//edit_text2.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出//edit_text3.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出 让三个EditText都成功地没有软键盘弹出. 后来我

IOS7 TableView适配

ios7下的app都是全屏的,意思就是所有控制器的view默认都是从屏幕的(0,0)开始. 为了达到全屏效果的app,官方为UIviewController增加了几个属性: 1 @property(nonatomic,assign) UIRectEdge edgesForExtendedLayout NS_AVAILABLE_IOS(7_0); // Defaults to UIRectEdgeAll 2 @property(nonatomic,assign) BOOL extendedLayo