在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
成为第一响应者,弹出键盘,并修改_textFeild
的placeholder
值
618D4CC7-C9FD-47FF-9E31-A83F0638AEA9.png
4接收通知,添加一个动画,修改
_textField
的frame
值,使其位于键盘的上方
D3945924-EBA3-4188-AFBD-41DA4492FA65.png
5将
cell
在tableview
的frame
值转化到self.View
中去,获得cell的self.view
的frame
值
7536F854-6BD4-41AD-A7AF-39E7E32E4CF4.png
6根据cell的frame值,滚动tableView
A917B7E3-D6E1-4F38-B58C-B73D481892BE.png
demo源码下载