UITextField根据Keyboard自动移动
【摘要】
1.注册通知
- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view from its nib. // 键盘高度变化通知,ios5.0新增的#ifdef __IPHONE_5_0 ...
-
- (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];//在视图控制器消除时,移除键盘事件的通知
-
-
}
文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。
原文链接:zzzili.blog.csdn.net/article/details/24025435
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)