IOS Window窗口使用
2024-09-07 00:19:50
// 程序启动完毕之后就会调用一次
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 1.创建UIWindow
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// 设置UIWindow的背景颜色
self.window.backgroundColor = [UIColor redColor]; // 让UIWindow显示出来(让窗口成为主窗口 并且显示出来)
// 一个应用程序只能有一个主窗口
[self.window makeKeyAndVisible];
// 让UIWindow成为主窗口
// [self.window makeKeyWindow]; // 2. 再创建一个窗口
UIWindow *w2 = [[UIWindow alloc] initWithFrame:CGRectMake(, , , )];
w2.backgroundColor = [UIColor yellowColor];
[w2 makeKeyAndVisible];
self.w2 = w2; // 3.创建两个文本输入框
// 3.1将文本输入框添加到window中
UITextField *tx1 = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];
tx1.borderStyle = UITextBorderStyleRoundedRect;
[self.window addSubview:tx1]; // 3.2将文本输入框添加到w2中
UITextField *tx2 = [[UITextField alloc] initWithFrame:CGRectMake(, , , )];
tx2.borderStyle = UITextBorderStyleRoundedRect;
[self.w2 addSubview:tx2]; // 获取应用程序的主窗口
NSLog(@"%@", [UIApplication sharedApplication].keyWindow);
return YES;
} - (void)test
{
// 1.创建UIWindow
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// 2.设置UIWindow的背景颜色
self.window.backgroundColor = [UIColor redColor]; // 创建控制器
// NJViewController *vc = [[NJViewController alloc] init];
// 将控制器的view添加到UIWindow上
// 问题1:当view发生一些事件的时候,通知控制器, 但是控制器以及销毁了,所以可能出现未知错误
/*
问题2:当发生旋转事件的时候 UIApplication对象会将旋转事件传递给UIWindow
UIWindow又会将旋转事件传递它的根控制器,由根控制器决定是否需要旋转 UIApplication->UIWindow->根控制器
*/
// [self.window addSubview:vc.view];
// 设置UIWindow的根控制器(建议使用下面这种方式)
// self.window.rootViewController = vc;
// UISwitch *switchBtn = [[UISwitch alloc] init];
// [self.window addSubview:switchBtn]; // 3.让UIWindow显示出来(让窗口成为主窗口 并且显示出来)
// 一个应用程序只能有一个主窗口
[self.window makeKeyAndVisible];
// 让UIWindow成为主窗口
// [self.window makeKeyWindow];
}
最新文章
- .NET 二维码生成(ThoughtWorks.QRCode)
- 如何将Icon转成Bitmap
- vs2010 快捷键大全
- python高性能代码之多线程优化
- pthread_mutex_lock
- Linux字符串替换一例:根据IP地址获取指定内容
- Sql Server通过BCP数据导出Excel
- 练习2 H题 - 求数列的和
- 统计机器翻译(SMT)步骤总结
- 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
- VS 的winform中生成release模式
- 杭电20题 Human Gene Functions
- Java Base64、AES、SHA1、MD5加密算法(转载)
- 在线学习Java免费资源推荐
- Javal连接字符串为Json
- #Java学习之路——面试题
- 为什么swift是面向协议的编程--对面向对象机制的改进
- Docker-服务(4)
- SpringMVC 搭建
- oracle里的tns是什么意思