UITextField根据Keyboard自动移动

来源:互联网 发布:java三大框架学习顺序 编辑:程序博客网 时间:2024/06/08 16:51
1.注册通知
- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view from its nib.        // 键盘高度变化通知,ios5.0新增的#ifdef __IPHONE_5_0    float version = [[[UIDevice currentDevice] systemVersion] floatValue];    if (version >= 5.0) {        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)name:UIKeyboardWillChangeFrameNotification object:nil];    }#endif    }

2.

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{    self.bzView.frame = CGRectMake(0, self.view.bounds.size.height-216-44, 320, 44);    return YES;}- (BOOL)textFieldShouldReturn:(UITextField *)textField{    [textField resignFirstResponder];    self.bzView.frame = CGRectMake(0, self.view.bounds.size.height-44, 320, 44);    return YES;}#pragma mark -键盘弹出时调用的方法#pragma mark Responding to keyboard events- (void)keyboardWillShow:(NSNotification*)notification {        NSDictionary *userInfo = [notification userInfo];        // Get the origin of the keyboard when it's displayed.    NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];        CGRect keyboardRect = [aValue CGRectValue];        self.bzView.frame = CGRectMake(0, self.view.bounds.size.height-keyboardRect.size.height-44, 320, 44);    }-(void)dealloc{    [[NSNotificationCenter defaultCenter] removeObserver:self];//在视图控制器消除时,移除键盘事件的通知    }


0 0
原创粉丝点击