在横向模式下扩展 iPhone X 的触控区域
Posted
技术标签:
【中文标题】在横向模式下扩展 iPhone X 的触控区域【英文标题】:Extend touch area on iPhone X in landscape mode 【发布时间】:2017-11-13 12:47:30 【问题描述】:如果UIViewController
在横向模式 下启动,即使home indicator
不在右侧,屏幕上最右边的 44 个点仍然不会响应触摸。我想知道禁用这些像素进行触摸的目的是什么,有没有办法扩展右侧的触摸区域?
【问题讨论】:
你能发布任何相关的代码吗?您使用检测触摸的哪个视图以及它的限制是什么? 【参考方案1】:safearealayoutguide
当视图在屏幕上可见时,本指南会反映 未被导航栏、标签栏、工具栏覆盖的视图, 和其他祖先的观点。 (在 tvOS 中,安全区域反映了该区域 没有覆盖屏幕的边框。)如果视图当前没有 安装在视图层次结构中,或者在屏幕上尚不可见, 布局指南边缘等于视图的边缘。
当您尝试在安全区域之外添加对象时,您的内容有机会被 Device Bazels 剪辑。
示例: 当您将安全区域外的按钮添加为
let buttonOutsideSafeArea = UIButton(frame: CGRect(x: 0, y: 100, width: 44, height: 40))
buttonOutsideSafeArea.backgroundColor = .red
self.view.addSubview(buttonOutsideSafeArea)
当您在设备上向右旋转时。
但是当你向左旋转时它会被剪掉(被Top Notch)
因此尽量避免添加超出安全区域的对象
【讨论】:
以上是关于在横向模式下扩展 iPhone X 的触控区域的主要内容,如果未能解决你的问题,请参考以下文章
iOS 增加 UITableViewCell 中 UIButton 的触控区域