【问题标题】:iOS/Swift Open Keyboard from Right Instead of BottomiOS/Swift 从右侧而不是底部打开键盘
【发布时间】:2020-04-22 11:17:37
【问题描述】:

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

当键盘为项目打开时,它当前从屏幕底部打开。这对于纵向来说很好,因为没有覆盖任何文本字段控件,但对于横向则没有。

我正在寻找一种键盘在横向模式下右侧打开的方法。

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

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

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

键盘隐藏底部文本字段:

键盘隐藏顶部文本字段:

正如您在横向图片中看到的那样,在大多数情况下,键盘似乎有空间放置在右侧。如果可以缩小密钥或它的大小,尤其是这种情况,但我在这里或苹果开发者网站上找不到任何信息。让键盘位于右侧将允许所有 4 个文本字段在用户输入时都可见。

感谢任何帮助!

【问题讨论】:

  • 我从来没有遇到过这样的事情,我怀疑是否有这种可能性(除了编写自己的键盘),因为你不能用两个拇指来点击。我的方法是进行四列设计,因为文本字段似乎不需要那么多空间。每列都可以具有结构“标签\n文本字段\n切换”
  • 横向 4 列设计的好主意,我可能会选择这个,虽然我最初计划在右侧添加帮助文档所以这可能是一个问题,我没有展示它在这里,但如果答案是不可能的,我会尽力而为。

标签: ios swift interface-builder uikeyboard custom-keyboard


【解决方案1】:

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

纵向布局

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

横向布局

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

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


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

【讨论】:

  • 这将是要走的路,谁知道苹果会给后代带来多高/多宽
猜你喜欢
  • 2017-12-21
  • 2016-09-09
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2011-11-24
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多