【发布时间】:2020-01-09 10:38:17
【问题描述】:
我目前正在尝试重现 UIPickerView 的行为,自己从头开始编写。
它的一个方面是我无法重现的,那就是出现在 Xcode 的 Debug View Hierarchy 选项卡上的具有深度的“视图”(下图)。我引用了视图词,因为我不知道它是否是UIView。它在 Debug View Hierarchy 选项卡中不可选择,但我可以将光标悬停在它上面,它会变成紫色突出显示颜色,如图所示。
我的猜测是某种CALayer,所以我尝试了以下方面的多种不同组合:
CATransformLayer-
m34的值CATransform3D - 旋转/平移变换
-
CALayer'szPosition
但是,使用这些修改完成的所有绘图都会按预期投影到二维中。
查看层次结构树,似乎这个 3D 框是 UIPickerTableView 的子级。其中的单元格类型为UIPickerTableViewTitledCell。这两种类型似乎都是内部的。我还没有尝试使用普通的表格或集合视图,因为我认为普通的CALayer 自定义应该能够完成这项工作。
有没有办法重现它?
这张图片是通过在普通的UIViewController 的view 上添加UIPickerView 生成的,在模拟器上运行项目,然后单击Xcode 上的Debug View Herarchy 按钮。
【问题讨论】: