怎样在键盘顶部添加UITextField和一个UIButton??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在键盘顶部添加UITextField和一个UIButton??相关的知识,希望对你有一定的参考价值。

怎样在键盘顶部添加UITextField和一个UIButton??或者,系统有没有一个含有UITextField的键盘??或者,在没有UITextField、UITextView等的情况下怎样强制弹出一个键盘??慢慢摸索中。。。。

参考技术A 可以自定义一个UIView,并且加入动画,在键盘弹出的时候跟随键盘弹出并最终定位到键盘顶部,取消的时候在键盘消失的回调里再去掉

如何通过在焦点集中时将其移动到键盘顶部/视图中心来突出显示滚动视图中的焦点 UITextField

【中文标题】如何通过在焦点集中时将其移动到键盘顶部/视图中心来突出显示滚动视图中的焦点 UITextField【英文标题】:How to highlight the focussed UITextField in a scroll view by moving it to the top of the key board / center of the view when it was focussed 【发布时间】:2012-10-25 11:21:47 【问题描述】:

在我看来,滚动视图中有 14 个文本字段。

要在键盘出现/消失时向上/向下移动视图,我已设置滚动视图框架大小

#pragma mark - Text field view delegate methods
- (void)textFieldDidBeginEditing:(UITextField *)textField; 

      //To move the scroll view up to avoid keybord covers the text field
      [UIView beginAnimations:nil context:NULL];
      [UIView setAnimationDelegate:self];
      [UIView setAnimationDuration:0.3];
      [UIView setAnimationBeginsFromCurrentState:YES];
      //scrollView.frame = CGRectMake(scrollView.frame.origin.x, (scrollView.frame.origin.y - 45), scrollView.frame.size.width, scrollView.frame.size.height);


      [scrollView setContentSize:CGSizeMake(200, 1100)];

      [UIView commitAnimations];



- (void)textFieldDidEndEditing:(UITextField *)textField;       
   
      //To move the view down 
      [UIView beginAnimations:nil context:NULL];
      [UIView setAnimationDelegate:self];
      [UIView setAnimationDuration:0.3];
      [UIView setAnimationBeginsFromCurrentState:YES];
       [scrollView setContentSize:CGSizeMake(200, 900)];
      //scrollView.frame = CGRectMake(scrollView.frame.origin.x, (scrollView.frame.origin.y + 45), scrollView.frame.size.width, scrollView.frame.size.height);
      [UIView commitAnimations];


返回键盘专注于下一个字段和最后一个字段键盘辞职

- (BOOL) textFieldShouldReturn:(UITextField *)textField



      if(textField == nameField) 
            [emailText becomeFirstResponder];
       else if(textField == emailText) 
            [mobileText becomeFirstResponder];
      
      else if(textField == mobileText) 
            [iPhoneText becomeFirstResponder];
      
      else if(textField == iPhoneText.value) 
            [companyText becomeFirstResponder];
      
      else if(textField == companyText) 


       [roleText becomeFirstResponder];
  

...
......
...........
  else if(textField == lastfield)  // Last fiels
        [textField resignFirstResponder];
  





      return YES;

但我的意图是当文本字段被聚焦时,该文本字段会向上移动到键盘顶部或视图中心

怎么做

【问题讨论】:

【参考方案1】:

我在我的应用程序中使用TPKeyboardAvoiding,它似乎对我来说非常有效,不妨试试看。

【讨论】:

以上是关于怎样在键盘顶部添加UITextField和一个UIButton??的主要内容,如果未能解决你的问题,请参考以下文章

如何通过在焦点集中时将其移动到键盘顶部/视图中心来突出显示滚动视图中的焦点 UITextField

ScrollView 中的 UITextField 在 iOS 中不显示键盘

单击已显示键盘的第二个UITextField会错误地移动内容

向 UITextField 键盘添加取消按钮

键盘可见时,将输入附件视图添加到UITextField

键盘顶部的工具栏