美文网首页
iOS 创建窗口

iOS 创建窗口

作者: 山杨 | 来源:发表于2017-12-15 10:14 被阅读343次

以当前控制器 UIViewController 为例:

@interface Class Name ()
// 防止窗口被自动销毁
@property (nonatomic) UIWindow *window;
@end
正确添加窗口的方法
// 1.创建窗口
UIWindow *subWin = [[UIWindow alloc] initWithFrame:subWinRect];

// 2. 一定要有一个强指针指向subWin(创建的窗口), 否则, 会创建的窗口会马上被释放掉
self.subWindow = subWin;

// 2.添加窗口根控制器
subWin.rootViewController = rootVC;

// 3.设置显示在当前视图上
[subWin makeKeyAndVisible];
注意: 千万不要用 [self.view addSubview:subWin] 显示窗口, 否则窗口无法被释放
正确释放窗口的方法
// 1.恢复主窗口, 通知subWin 执行 resignKeyWindow
[self.view.window makeKeyAndVisible];
注意: 千万不要直接调用 resignKeyWindow(Apple文档上有说明), 在其他窗口执行 makeKeyAndVisible 的时候, 当前窗口会自动执行 resignKeyWindow, 然后被自动释放

// 2.移除subWin的根控制器
subWin.rootViewController = nil;

// 3.将subWin置空
subWin = nil;

相关文章

网友评论

      本文标题:iOS 创建窗口

      本文链接:https://www.haomeiwen.com/subject/adyrwxtx.html