【问题标题】:Height of custom keyboard in iOS and Swift 4iOS和Swift 4中自定义键盘的高度
【发布时间】:2018-05-24 08:56:23
【问题描述】:

如何获取iOS给自定义键盘的视图高度?

我目前正在为 iPhone 8 Plus 手动设置键盘界面:

var keyboardHeight: CGFloat {
    return UIScreen.main.bounds.height > UIScreen.main.bounds.width ? 226 : 162
}

如何以编程方式获取所有尺寸等级的键盘高度?

【问题讨论】:

  • 您是在自定义键盘还是在视图控制器中编写代码?如果您在键盘中编写代码,那么您的代码会指定键盘高度。如果您在视图控制器中编写,那么您应该使用 Andrea 所说的键盘通知。
  • @Paulw11 代码是在自定义键盘控制器中编写的。 ios 赋予自定义键盘的高度因设备而异。
  • 您可以使用约束设置键盘的高度,也可以通过查看键盘父视图的框架来获得默认高度。
  • 在这里,我创建了您可能需要的东西federicabenacquista.medium.com/…

标签: ios swift xcode keyboard


【解决方案1】:

方法是通常的方法:listen to keyboard notifications and respond to them
与通知一起发送的userInfo 字典的endFrame 键包含正确的键盘大小。我也考虑到了最终的accessoryInputView

【讨论】:

  • 我需要 iOS 在任何应用程序、任何设备上赋予此自定义键盘的高度。我无权访问文本字段和文本视图,以便在显示或隐藏键盘时收到通知。
【解决方案2】:

试试这个

override func viewDidLoad() {
    super.viewDidLoad()

    let desiredHeight: CGFloat =  500
    let heightConstraint = NSLayoutConstraint(item: view, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: desiredHeight)
    view.addConstraint(heightConstraint)

    self.nextKeyboardButton.addTarget(self, action: #selector(handleInputModeList(from:with:)), for: .allTouchEvents)

}

【讨论】:

    猜你喜欢
    • 2017-01-30
    • 2019-08-23
    • 2014-10-18
    • 1970-01-01
    • 2017-04-20
    • 2014-12-11
    • 2020-08-18
    • 2015-04-18
    • 2015-02-08
    相关资源
    最近更新 更多