iOS鍵盤遮擋輸入框,輸入區域自動上移


在iOS開發過程當中,遇到關於鍵盤遮擋輸入框的問題,經過網絡參考與實踐,總結如下:

登錄窗口,上下放置兩個UITextField,一個用戶名,一個密碼,放置的在屏幕下方1/3處,當點擊用戶名時,自動彈出鍵盤,正好擋住了輸入框

解決思路:

1、BLoginViewController 實現UITextViewDelegate的方法

 1  //實現了UITextFieldDelegate中的方法,當對TextField進行編輯即鍵盤彈出時,自動將輸入框上移
 2  -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
 3      NSTimeInterval animationDuration=0.30f;
 4      [UIView beginAnimations:@"ResizeForKeyboard" context:nil];
 5      [UIView setAnimationDuration:animationDuration];
 6      float width = self.view.frame.size.width;
 7      float height = self.view.frame.size.height;
 8      //上移n個單位,按實際情況設置
 9      CGRect rect=CGRectMake(0.0f,-130,width,height);
10      self.view.frame=rect;
11      [UIView commitAnimations];
12      return YES;
13  }

2、為輸入框設置代理

 1 - (void)viewDidLoad
 2 {
 3      [super viewDidLoad];
 4      
 5      //狀態欄白色字體
 6      [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
 7      
 8      UIColor *btnBgColor = [UIColor colorWithWhite:1.0f alpha:1.0];
 9      [_buttonLogin setBackgroundColor:btnBgColor];
10      
11      //為輸入框添加代理
12      _textFieldUserName.delegate = self;
13      _textFieldPassword.delegate = self;
14 
15 }

 

 效果:

 

 參考:http://blog.csdn.net/ryantang03/article/details/8203605


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM