【问题标题】:Scroll view up when Keyboard hides UiTextField当键盘隐藏 UiTextField 时向上滚动视图
【发布时间】:2012-10-10 21:01:08
【问题描述】:

我正在开发 iPad 应用程序。在一个视图中,我们有 10 个文本字段。当我在 iPad 中查看它们时,底部的文本字段隐藏在键盘后面。

我希望文本字段在隐藏在键盘后面时向上滚动。

非常感谢任何帮助

提前致谢。

【问题讨论】:

    标签: objective-c ipad


    【解决方案1】:

    使用 UIScrollView 并将您的 UI 控件放置在滚动视图中。在 viewDidLoad 中保留滚动视图的内容偏移量。 (在下面的代码中,scrollOffset 是 CGPoint 类型。

    scrollOffset = scrollView.contentOffset;
    

    在 UITextField 委托中为滚动视图设置一个新的内容偏移量。

    - (void)textFieldDidBeginEditing:(UITextField *)textField {
    
        CGPoint scrollPoint;
        CGRect inputFieldBounds = [textField bounds];
        inputFieldBounds = [textField convertRect:inputFieldBounds toView:scrollView];
        scrollPoint = inputFieldBounds.origin;
        scrollPoint.x = 0;
        scrollPoint.y -= 90; // you can customize this value
        [scrollView setContentOffset:scrollPoint animated:YES];            
    }
    

    在 textfiedlshouldreturn 委托中,重置滚动视图的内容偏移量。

    - (BOOL) textFieldShouldReturn:(UITextField *)textField { 
        [scrollView  setContentOffset:scrollOffset animated:YES]; 
        [textField resignFirstResponder]; 
        return YES; 
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用键盘上的通知。 显示键盘时您会收到 UIKeyboardWillShowNotification,然后您可以根据需要移动或滚动项目。

      最好的问候 伯恩哈德

      【讨论】:

      • 感谢哈勒的回复。我们可以为 iPhone 滚动,但不能在 iPad 上滚动……你能发布滚动 UiTextFeilds 的示例代码吗?
      • “滚动 UITextField”是什么意思?您可以通过设置框架来移动 TextField。
      猜你喜欢
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多