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处理,此时可以避免用户输入内容时遮挡文字。

你可能感兴趣的:(iOS开发之UIScrollView与TextView嵌套)