有关TextField 的代理方法
我们在使用UITextField的时候 ,总是会遇到键盘挡住输入框的问题
大辉今天就来说说思路
1.添加两个通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldBeginEditingChangeNotifictaion:) name:UITextFieldTextDidBeginEditingNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidEndEditingNotifictaion:) name:UITextFieldTextDidEndEditingNotification object:nil];
主要是监听TextField 开始编辑 和 结束编辑
-
实现方法
-(void)textFieldBeginEditingChangeNotifictaion:(NSNotification *)info
{
[UIView animateWithDuration:2 animations:^{
if (kCurrentHeight > 480) {
self.tableViewLayoutTop.constant = -180;}else{ self.tableViewLayoutTop.constant = -300; }
}];
}
-(void)textFieldDidEndEditingNotifictaion:(NSNotification *)info
{
[UIView animateWithDuration:2 animations:^{
self.tableViewLayoutTop.constant = 0;
}];
}
- 关键的点到了
上边说的tableViewLayoutTop 主要是我们添加的约束 ,在编辑的过程中去改变约束
这样来实现不同的适配问题
4.键盘也有比较好的fangf
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDisplayed:)
name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardHidened:)
name:UIKeyboardWillHideNotification object:nil];
网友评论