UITextField根据Keyboard自动移动

举报
清雨小竹 发表于 2022/09/25 02:19:27 2022/09/25
【摘要】 1.注册通知 - (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view from its nib. // 键盘高度变化通知,ios5.0新增的#ifdef __IPHONE_5_0 ...


  
  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. // Do any additional setup after loading the view from its nib.
  5. // 键盘高度变化通知,ios5.0新增的
  6. #ifdef __IPHONE_5_0
  7. float version = [[[UIDevice currentDevice] systemVersion] floatValue];
  8. if (version >= 5.0) {
  9. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)name:UIKeyboardWillChangeFrameNotification object:nil];
  10. }
  11. #endif
  12. }

2.


  
  1. - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
  2. {
  3. self.bzView.frame = CGRectMake(0, self.view.bounds.size.height-216-44, 320, 44);
  4. return YES;
  5. }
  6. - (BOOL)textFieldShouldReturn:(UITextField *)textField
  7. {
  8. [textField resignFirstResponder];
  9. self.bzView.frame = CGRectMake(0, self.view.bounds.size.height-44, 320, 44);
  10. return YES;
  11. }
  12. #pragma mark -键盘弹出时调用的方法
  13. #pragma mark Responding to keyboard events
  14. - (void)keyboardWillShow:(NSNotification*)notification {
  15. NSDictionary *userInfo = [notification userInfo];
  16. // Get the origin of the keyboard when it's displayed.
  17. NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
  18. CGRect keyboardRect = [aValue CGRectValue];
  19. self.bzView.frame = CGRectMake(0, self.view.bounds.size.height-keyboardRect.size.height-44, 320, 44);
  20. }
  21. -(void)dealloc{
  22. [[NSNotificationCenter defaultCenter] removeObserver:self];//在视图控制器消除时,移除键盘事件的通知
  23. }


文章来源: zzzili.blog.csdn.net,作者:清雨小竹,版权归原作者所有,如需转载,请联系作者。

原文链接:zzzili.blog.csdn.net/article/details/24025435

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。