我的问题是,默认的 iPhone 菜单是使用故事板创建的 UIcollection 视图,还是有更多功能?(为了避免模仿其功能)
问问题
1597 次
2 回答
5
如果你想了解 SpringBoard 的视图层次结构:
- 如果 iOS 模拟器尚未运行,请启动它。
- 确保您在模拟器中查看 SpringBoard。
- 在 Xcode 中,选择 Product > Attach to Process > springboard。跳板过程位于列表的“系统”部分。
- 仍然在 Xcode 中,选择 Product > Debug > Pause。
- 在 Xcode 的调试控制台(应该显示
(lldb)
提示的地方),输入po [[UIApp keyWindow] recursiveDescription]
.
瞧,你得到了 SpringBoard 的整个屏幕视图层次结构的打印输出。我的开始是这样的:
(lldb) po [[UIApp keyWindow] recursiveDescription]
$0 = 0x0b63abf0 <SBAppWindow: 0xce3ef10; baseClass = UIWindow; frame = (0 0; 320 480); layer = <UIWindowLayer: 0xce3f010>>
| <SBUIRootView: 0xb162de0; frame = (0 0; 320 480); layer = <CALayer: 0xb162e60>>
| | <UIView: 0xb163010; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0xb1630c0>>
| | | <SBWallpaperView: 0xb1632a0; baseClass = UIImageView; frame = (0 0; 320 480); userInteractionEnabled = NO; layer = <CALayer: 0xb160f70>>
| | | | <UIImageView: 0xb1610d0; frame = (0 0; 0 0); hidden = YES; userInteractionEnabled = NO; layer = <CALayer: 0xb161130>>
| | | | <UIImageView: 0xb161160; frame = (0 0; 0 0); hidden = YES; userInteractionEnabled = NO; layer = <CALayer: 0xb163390>>
| | | <SBIconContentView: 0xb163da0; frame = (0 0; 320 480); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0xb163e50>>
| | | | <UIView: 0xc939710; frame = (0 371; 320 109); opaque = NO; autoresize = W+TM; layer = <CALayer: 0xc939770>>
| | | | | <SBDockIconListView: 0xc9381d0; frame = (0 20; 320 89); autoresize = TM; layer = <CALayer: 0xc9382c0>>
...
于 2013-03-11T18:20:20.963 回答
1
来自Springboard上的维基百科文章:
Springboard或Home Screen是管理 iOS 主屏幕的标准应用程序。其他任务包括启动 WindowServer、启动和引导应用程序以及在启动时设置一些设备的设置。
于 2013-03-11T15:25:20.550 回答