unexpected nil window in _UIApplicationHandleEventFromQueueEvent


2down vote

Additional to B H answer. Also look this answer.

Got this issue when launching my landscape only app from portrait orientation (also the app shouldn‘t be presented in recently opened apps list, which can be seen by pressing Home button twice. Perhaps, iOS somehow caches the orientation and window size).

My code was

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];

I set W+H autoresizing mask for window, it didn‘t help me, because the window don‘t being resized on rotation, but the transform matrix is changed.

The solution is simple

self.window = [UIWindow new];
[self.window makeKeyAndVisible];
self.window.frame = [[UIScreen mainScreen] bounds];

So the frame is set AFTER the window get its orientation from root view controller.

时间: 2024-10-09 06:48:54

unexpected nil window in _UIApplicationHandleEventFromQueueEvent的相关文章

如何从项目中移除storyboards

我不想在超过4-5屏的项目中使用storyboards,当我新建一个项目时,我通常按照下面的步骤操作. 我不想谈论storyboards本身的问题,如果你对这个话题感兴趣,推荐读这篇文章. 在本文中我们将从Single View Application模板中移除storyboard,并使用导航栈来储存不限数量的视图控制器,然后模态化的显示视图页面. 创建新项目 创建一个新项目并选择Single View Application模板.将其命名为NoStoryboards并选择Swift作为编程语言

UIWindow 详解及使用场景

首先来看一下UIWindow 继承关系 UIView的功能  负责渲染区域的内容,并且响应该区域内发生的触摸事件 UIWindow 在iOS App中,UIWindow是最顶层的界面内容,我们使用UIWindow和UIView来呈现界面.UIWindow并不包含任何默认的内容,但是它被当作UIView的容器,用于放置应用中所有的UIView. 从继承关系来看,UIWindow继承自UIView,所以UIWindow除了具有UIView的所有功能之外,还增加了一些特有的属性和方法,而我们最常用的方

网易新闻侧滑抽屉效果(利用父子控制器实现)

一:类似于网易的抽屉效果,启动有广告,进入主界面后,点击左上角按钮,侧滑左抽屉,点击右上角,侧滑出右抽屉.点击左抽屉按钮,对视图进行切换 . 二代码: 1:启动图展示广告界面实现:先吧启动图控制器作为窗口的根视图控制器,展示完广告消失后,再切换窗口的根视图控制器为主控制器.其中窗口指的是项目中的主窗口也就是keyWindow,主窗口主要负责接收一些键盘事件,文本框输入事件,若是键盘文本框,textView或是textfield不能输入,则考虑是不是当前窗口是否是主窗口 @interface HM

从storyBoard的里面加载控制器的方法

这个方法不常用,容易被忽略,但是用起来还是蛮方便的 @implementation HMAdViewController - (void)viewDidLoad { [super viewDidLoad]; // 1.背景图片 UIImageView *bg = [[UIImageView alloc] init]; bg.image = [UIImage imageNamed:@"Default"]; bg.frame = self.view.bounds; [self.view a

emacs-ide配置

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CEDET Configuration;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;load cedet(add-to-list 'load-path "/opt/emacs-ide/cedet-1.1/common")(add-to-list 'load-pa

ANSI_common-lisp

前言 本书的目的是快速及全面的教你 Common Lisp 的有关知识.它实际上包含两本书.前半部分用大量的例子来解释 Common Lisp 里面重要的概念.后半部分是一个最新 Common Lisp 辞典,涵盖了所有 ANSI Common Lisp 的操作符. 这本书面向的读者 ANSI Common Lisp 这本书适合学生或者是专业的程序员去读.本书假设读者阅读前没有 Lisp 的相关知识.有别的程序语言的编程经验也许对读本书有帮助,但也不是必须的.本书从解释 Lisp 中最基本的概念

VCL消息处理机制

http://www.cnblogs.com/railgunman/archive/2010/12/10/1902524.html#2868236 说到VCL中的消息处理就不能不提到TApplication,Windows会为每一个当前运行的程序建立一个消息队列,用来完成用户与程序的交互,正是通过Application完成了对Windows消息的集中处理! 首先通过Application.Run进入消息循环进行消息的处理,其中调用了HandleMessage. procedure TApplic

iOS:UISplitViewController的创建

UISplitViewController是iPad特有的系统方法,主要效果就是呈现iPad的经典切割界面 代码创建实例: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { MyFirstViewController* firstVC = [[MyFirstViewController alloc] initWithNibNa

照相功能

1 调用相机并且上传照片的方法 #import "ViewController.h" #import "AFNetworking.h" @interface ViewController () <UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>   @property (weak, nonatomic) IBOutlet UIImag