【问题标题】:Keyboard on ios moves my fixed position header navios上的键盘移动我的固定位置标题导航
【发布时间】:2012-09-04 20:52:02
【问题描述】:

我有一个导航栏在滚动时固定在窗口的顶部。但是,当我单击输入并且键盘弹出固定位置导航移动并卡在错误位置时。有什么办法解决这个问题?

另外,我似乎无法通过在键盘外部单击来关闭键盘。

【问题讨论】:

  • 是在界面生成器中设置的导航栏还是自定义视图?如果它是默认导航栏,它就无法移动
  • 您必须有在显示键盘时运行的代码。如果您希望我们提供帮助,请发布。此外,发布隐藏键盘时运行的任何代码。最后,当您在键盘外部点击时,它不应该关闭。
  • 您找到解决方案了吗?
  • 当您触摸键盘外部时,它不会自动隐藏。您将不得不为您实现一些回调。一种简单的方法是创建一个不可见(自定义)按钮,填充所有背景区域并触发您执行的方法:[textField resignFirstResponder];

标签: ios keyboard position fixed


【解决方案1】:

我不确定你的导航栏为什么会移动。如果您是子类化或使用 UINavigationControlller,则默认情况下会提供导航栏本身,但您始终可以隐藏它。如果您不是并且只想要一个 UINavgivationBar 而不是您使用控制器获得的视图控制器堆栈,那么它可能会移动框架。我建议使用导航控制器来确保您的酒吧永远不会移动。

解决单击关闭时键盘不隐藏的问题。没有“自动”方法可以做到这一点,您必须在保存的对您单击的文本字段的引用上显式调用方法 resignFirstResponder 以使键盘出现。最好的方法是创建一个 NSMutableArray 属性并在视图控制器 .h 中实现 UITextfieldDelegate 并将方法 -(void)textfiedDidBeginEditing:(UITextfield *)textfield 我是你的 .m 并将 textfied 添加到可变数组在里面。从那里你需要决定用户将如何关闭键盘 IE 点击背景。所以最简单的方法是在背景中添加一个没有文本的巨型 UIButton,它调用一个方法,该方法循环遍历该可变数组并在所有内容上调用 resignFirstResponder 并在完成后清除数组。

或者您可以随时将文本字段的键盘类型更改为具有完成按钮的键盘类型。

选择权在你!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多