1.textField.delegate = self 和
UITextFieldDelegate 还是要写的
2.代码中的
#define KEYBOARDHEIGHT216.0f//英文键盘的高度
#define DEFAULTHEIGHT100.0f//根据键盘高度
3.code:
#pragma mark - UITextField Delegate
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
CGFloat offset =self.view.frame.size.height - (textField.frame.origin.y + textField.frame.size.height+KEYBOARDHEIGHT+DEFAULTHEIGHT);
NSLog(@"%f",offset);
if (offset<=0)
{
[UIViewanimateWithDuration:0.3animations:^{
CGRect frame =self.view.frame;
frame.origin.y = offset;
self.view.frame = frame;
}];
}
returnYES;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
[UIViewanimateWithDuration:0.3animations:^{
CGRect frame =self.view.frame;
frame.origin.y =0.0;
self.view.frame = frame;
}];
returnYES;
}