我正在尝试使用 swift ui 制作一些自定义键盘。我遇到了一些问题。我无法检查显示的自定义键盘区域的实际大小。下面是一些截图。
我要检查其大小的区域是蓝色方块。这取决于我所做的快速视图。所以我做了一些逻辑,整个尺寸与屏幕尺寸有关。
出现这种情况的问题。如您所见,在横向模式下,存在一些额外的空间。蓝色方块不是完整的屏幕。为了更好地计算尺寸,需要获得额外空间的尺寸。
如果你有好的获取方式,请回答。谢谢。
我之前的自我回答是错误的,所以我删除它并重新写。
键盘是应用程序扩展,因此无法在 swift ui 中获得实际大小。应该进入输入视图控制器。
使用 layoutMarginsGuide 获取区域大小。
override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() if let size = self.inputView?.layoutMarginsGuide.layoutFrame.size { //do something } }
将这个值发送到swift view然后你可以用它来计算。
我的示例结果