iOS/Swift 从右侧而不是底部打开键盘

iOS/Swift Open Keyboard from Right Instead of Bottom

我的项目有以下纵向和横向界面生成器设计。

当为项目打开键盘时,它当前从屏幕底部打开。这适用于纵向,因为 none 的文本字段控件被覆盖但不适用于横向。

我正在寻找一种方法,让键盘在横向.

下从右侧打开

我目前正在使用一个库,它可以将您正在编辑的文本字段自动滚动到此处的视图中 (https://github.com/hackiftekhar/IQKeyboardManager),此解决方案的唯一问题是顶部字段在横向视图和这个程序案例我需要能够在键盘上输入数据时看到所有字段。

我不确定我是否需要自定义键盘解决方案,或者在这种情况下这是否是最佳实践,因为我在研究中没有发现任何与此相关的内容。

下面是我遇到的键盘问题的示例。

隐藏底部文本字段的键盘:

隐藏顶部文本字段的键盘:

在大多数情况下,右侧似乎有空间容纳键盘,如您在横向图片中所见。如果可以缩小按键或其大小,情况尤其如此,但我无法在此处或苹果开发者网站上找到任何相关信息。如果键盘来自右侧,则在用户输入时可以查看所有 4 个文本字段。

感谢任何帮助!

解决此类问题的标准方法是针对不同的方向使用不同的布局。

纵向布局

Total Dose  [======] -*
Dose/Frac   [======] -*
# Fractions [======] -*
alpha/beta  [====] |-=|

横向布局

Total Dose  [======] -*   Dose/Frac   [======] -*
# Fractions [======] -*   alpha/beta  [====] |-=|

注意:[===]是文本字段,-*是开关,|-=|是分段控件。


How to handle portrait and landscape in autolayout 展示了如何使用大小 类 为不同的方向设置约束。