iOS 抓取器拖动句柄是 UIKit 组件吗?
Posted
技术标签:
【中文标题】iOS 抓取器拖动句柄是 UIKit 组件吗?【英文标题】:Is the iOS grabber drag handle a UIKit component? 【发布时间】:2021-11-01 08:30:49 【问题描述】:Apple 已经开始使用药丸状的“抓取器”拖动手柄来代表draggable drawers in Apple Maps、Find My 等。
抓取器是一种视觉提示,表明工作表可调整大小。当工作表无法调整大小或工作表无法以交互方式关闭时,显示抓取器可能很有用。
UISheetPresentationController: prefersGrabberVisible
拖拽手柄的设计与 ios 11 中发布的 iPhone X 主屏幕和应用切换图标类似。
grabber 是否处理 iOS 和 Interface Builder 中可用的标准 UIKit 和/或 SwiftUI 可视化组件?我在 Xcode 中找不到。
如果没有标准组件,如何从 UIViews 构建这样的抓取器?
【问题讨论】:
我认为一个通用名称是“底页” - Apple 没有内置组件。你可以自己动手,或者有一些开源实现 我想this package 可能就是你要找的。span> 【参考方案1】:拖动手柄是UIGrabber
私有类,在公共 UIKit 中不可用:
https://twitter.com/rizwanasifahmed/status/1161221494166319104 https://twitter.com/harshil/status/1160172316287832064
它不是一个可在 UIKit 中使用的公共组件。但是,在 iOS 15+ 中,新的 UISheetPresentationController
具有 prefersGrabberVisible
属性。设置为true
至少会在您的应用程序的该工作表中显示系统抓取器。
在 Xcode 的 Debug View Hierarchy 模式下检查项目会显示 _UIGrabber
的私有类名称及其属性:
【讨论】:
以上是关于iOS 抓取器拖动句柄是 UIKit 组件吗?的主要内容,如果未能解决你的问题,请参考以下文章