UIWindow

1、Window 的创建

复制// 声明窗口视图
@property (strong, nonatomic) UIWindow *window; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

	// 实例化窗口视图,window 的大小和当前手机屏幕一样大
	self.window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];   
	// 设置 window 的背景颜色
	self.window.backgroundColor = [UIColor whiteColor];  
	// 将窗口显示到屏幕上
	[self.window makeKeyAndVisible];

	return YES;
}

2、UIScreen 的使用

  • 2.1 UIScreen 的属性

// 带有状态栏的 Rect 
CGRect bound = [UIScreen mainScreen].bounds;

// 不带有状态栏的 Rect 
CGRect frame = [UIScreen mainScreen].applicationFrame;

// 设备的自然分辨率
float scale = [UIScreen mainScreen].scale;
  • 2.2 scale 属性的进一步的说明:

    • 以前的 iPhone 设备屏幕分辨率都是 320x480,后来 apple 在 iPhone 4 中采用了名为 Retina 的显示技术,iPhone 4 采用了 960x640 像素分辨率的显示屏幕。由于屏幕大小没有变,还是 3.5 英寸,分辨率的提升将 iPhone 4 的显示分辨率提升至 iPhone 3GS 的四倍,每英寸的面积里有 326 个像素。
    • 简单的理解 scale 就是一个点有几个像素。scale 属性的值目前有 3 个:
      • scale = 1.0; iPhone 4 之前的设备
      • scale = 2.0; iPhone 4 ~ iPhone 7 (除 plus 外) 的设备
      • scale = 3.0; iPhone 6 plus 和 iPhone 7 plus 的设备

3、获取屏幕宽度与高度

// 当前屏幕的宽度
CGFloat width =  [UIScreen mainScreen].bounds.size.width;

// 当前屏幕的高度      
CGFloat height = [UIScreen mainScreen].bounds.size.height; 

基础创建
悬浮或弹窗的使用
获取窗口大小
工作原理

posted @   CH520  阅读(271)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
哥伦布
10:09发布
哥伦布
10:09发布
2°
西南风
2级
空气质量
相对湿度
68%
今天
2°/16°
周二
7°/19°
周三
多云
7°/19°