iOS开发之UIScrollView与TextView嵌套

需求:ScrollView上放置TextView,TextView可编辑。当键盘弹出时不遮挡文字输入。

方案1:增加scrollView的contentInset,不过底部会多出空白的滚动区域;此方案不够优雅,所以pass。

方案2:更改ScrollView的Frame。监听键盘高度,再调整scrollView的底部,也就是更改scrollView的高度。


此时还是会出现键盘遮挡的问题,经过测试:

1.textView如果是ScrollEnable = YES(默认值),编辑文本时scrollView和textView都不会自动滚动,键盘被遮挡。

2.textView如果是ScrollEnable = NO,编辑文本时ScrollView会滚动,textView不滚动。系统处理滚动,光标不会被遮挡。

猜想:当textView可以滚动时(ScrollEnable=YES),滚动区域由textView管理,系统不会处理文字滚动区域,用户可以在被遮挡的区域输入文字。当textView不可滚动时,系统会将滚动优先级给父类的ScrollView处理,此时可以避免用户输入内容时遮挡文字。

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

推荐阅读更多精彩内容