1.先创建一个输入框
self.textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 5, ScreenWidth - 70, 30)];
self.textField.borderStyle = UITextBorderStyleRoundedRect;
self.textField.backgroundColor = [UIColor whiteColor];
self.textField.placeholder = @"输入评论...";
self.textField.font = [UIFont fontWithName:@"Arial" size:13.0f];
self.textField.clearButtonMode = UITextFieldViewModeAlways;
self.textField.returnKeyType = UIReturnKeyGo;
self.textField.delegate = self;
[self.view addSubview:self.textField];
2.添加观察者
[[NSNotificationCenter
defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:)
name:UIKeyboardWillChangeFrameNotification object:nil];//在这里注册通知
3.实现监听方法
NSDictionary *userInfo = notification.userInfo;
// 动画的持续时间
double duration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
// 键盘的frame
CGRect keyboardF = [userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
// 执行动画
[UIView animateWithDuration:duration animations:^{
// 工具条的Y值 == 键盘的Y值 - 工具条的高度
if (keyboardF.origin.y > self.view.height) { // 键盘的Y值已经远远超过了控制器view的高度
self.critiqueView.y = self.view.height - self.critiqueView.height;//这里的style="background-color: rgb(240, 240, 240);"self.toolbar就是我的输入框。
} else {
self.critiqueView.y = keyboardF.origin.y - self.critiqueView.height;
}
}];