通常UIWindow 与 UIScreen 是配合使用的。当我们想自定义window对象或者获取硬件屏幕大小必定会用到 UIWindow 和 UIScreen
UIWindow
一个APP只有一个UIWindow 对象,表示当前窗口对象。UIWindow 继承于 UIView。 通常使用Window 自定义根节点的 UIViewController。通常在 AppDelegate 的声明周期 didFinishLaunchingWithOptions 中声明
UIScreen* screen = [UIScreen mainScreen];
UIScreen* screen = [UIScreen mainScreen];
NSLog(@"屏幕大小是 %f %f", screen.bounds.size.width, screen.bounds.size.height);
UIWindow* window = [[UIWindow alloc] init];
// 设置窗口大小
window.frame = screen.bounds;
// 设置window根视图控制器
window.rootViewController = [[UIViewController alloc] init];
// 显示到屏幕
[window makeKeyAndVisible];
UIScreen
表示硬件屏幕的类
UIScreen* screen = [UIScreen mainScreen];
NSLog(@"屏幕大小是 %f %f", screen.bounds.size.width, screen.bounds.size.height);
属性
名称 | 类型 | 说明 |
---|---|---|
bounds | CGSize | 屏幕大小参数 |
scale | CGFloat | 屏幕缩放参数 |
availableModes | NSArray<UIScreenMode *> | 屏幕支持的模式列表 |
currentMode | UIScreenMode | 屏幕当前的模式 |
captured | BOOL | 屏幕是否在投影,录制 |