解决键盘在tableView中的遮挡问题

在tableView的cell中,添加输入框,当输入框靠下的时候,键盘弹出会挡住输入框。为了解决这个问题,需要监听键盘的弹出事件。如下:

Untitled.gif

我的实现思路是这样的:
声明的变量:

226B5832-8CE4-4468-88D7-1957DD5F037C.png

1.在self.view上面添加一个textFeild,位于屏幕下方
2.监听键盘的弹出和收起,当键盘的frame改变时,处理tableView的滚动

161AEAD9-0F19-4BA1-ACBD-9FF9F3E946C0.png

3.获取当前点击的cell的indexPath属性

1F045187-61B9-43EB-8A1C-9A8719278AA8.png

当点击cell中的按钮的时候,触发cell的代理方法,让屏幕下文的_textFeild成为第一响应者,弹出键盘,并修改_textFeildplaceholder

618D4CC7-C9FD-47FF-9E31-A83F0638AEA9.png

4接收通知,添加一个动画,修改_textFieldframe值,使其位于键盘的上方

D3945924-EBA3-4188-AFBD-41DA4492FA65.png

5将celltableviewframe值转化到self.View中去,获得cell的self.viewframe

7536F854-6BD4-41AD-A7AF-39E7E32E4CF4.png

6根据cell的frame值,滚动tableView
A917B7E3-D6E1-4F38-B58C-B73D481892BE.png

demo源码下载

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

推荐阅读更多精彩内容