在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源碼下載