文本字段的动画不隐藏在键盘下方,在 IOS 7 中的模拟器和实际设备中的行为不同

Posted

技术标签:

【中文标题】文本字段的动画不隐藏在键盘下方,在 IOS 7 中的模拟器和实际设备中的行为不同【英文标题】:Animation of textfields for not to hide underneth the keboard, behaves differently in simulator and actual device in IOS 7 【发布时间】:2013-11-28 07:44:03 【问题描述】:

在设备中它在导航栏下方滚动,但在模拟器中它会弹出到导航栏中,因此导航栏隐藏了文本字段。

/// 这是为文本字段开始编辑。

- (void)textFieldDidBeginEditing:(UITextField *)textField

    //textField.keyboardAppearance = UIKeyboardAppearanceAlert;
    CGPoint scrollPoint;
    CGRect inputFieldBounds = [textField bounds];
    inputFieldBounds = [textField convertRect:inputFieldBounds toView:scrollView];
    scrollPoint = inputFieldBounds.origin;
    scrollPoint.x = 0;
    scrollPoint.y -= 30; // you can customize this value
    [scrollView setContentOffset:scrollPoint animated:YES];

//// 把卷子放在后面,我在文本字段中写这个应该返回

-(BOOL) textFieldShouldReturn:(UITextField *)textField

   CGPoint scrollPoint;
   scrollPoint.x = 0;
   scrollPoint.y = 0;// you can customize this value
   [scrollView  setContentOffset:scrollPoint animated:YES];

//// end

【问题讨论】:

行为会有什么不同? 在设备中它在导航栏下方滚动,但在模拟器中它会弹出到导航栏中,因此导航栏隐藏了文本字段。 你可以尝试在viewWillAppear中添加这段代码:self.navigationController.navigationBar.translucent = NO;告诉我 好人。感谢您的回答,感谢您的时间,它的工作。 【参考方案1】:

您可以尝试在viewWillAppear添加此代码:

self.navigationController.navigationBar.translucent = NO; 

【讨论】:

以上是关于文本字段的动画不隐藏在键盘下方,在 IOS 7 中的模拟器和实际设备中的行为不同的主要内容,如果未能解决你的问题,请参考以下文章

键盘隐藏另一个视图的文本字段动画

键盘在 PageView 中隐藏 TextField

点击文本字段后动画视图重置位置

iOS 7 中的键盘不插入滚动视图

虚拟键盘隐藏字段/文本区域/内容可编辑(隐藏在键盘下方)

iOS - 隐藏在键盘后面的 UIView 容器