Tag: 主窗口

目标c renderInContext在后台线程上崩溃

我有一个应用程序,其中屏幕不断在后台线程捕获。 这是代码 – (UIImage *) captureScreen { UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; CGRect rect = [keyWindow bounds]; UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [[keyWindow layer] renderInContext:context]; UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIDeviceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; if ((orientation == UIInterfaceOrientationLandscapeLeft) || (orientation == UIInterfaceOrientationLandscapeRight) || (orientation==UIInterfaceOrientationPortraitUpsideDown)) { img=[self rotatedImage:img]; } return img; } 它适用于捕捉一次或两次。 但一段时间后,应用程序总是崩溃在同一行[[keyWindow […]

如何从另一个对象访问我的应用程序委托的窗口访问器方法?

正如前面提到的 – 我是一个Objective-C的第一顺序的新手,但已经阅读了4本关于这个主题的实体书籍,还有一堆电子书和文档,我仍然无法find我要找的东西。 我有一个顶级内容视图控制器,想要从应用程序委托的窗口属性的物理维度来configuration其视图属性。 这是几个人已经提出的问题。 ( [UIScreen mainScreen]不会因为在此论坛上多次播放的原因而将其剪切)。 因此,逻辑的方法是让内容视图控制器读取应用程序委托的窗口的框架。 现在,我发现接近这个的唯一答案是使用[[[UIApplication sharedApplication] window] frame] – 但是,这只有在窗口属性被设置为keyAndVisible时才有效。 内容视图控制器在获取makeKeyAndVisible 之前需要读取应用程序委托的窗口属性。 代码按照这个顺序进行。 应用程序代表: – (BOOL) application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions { // This next line is a test window frame for R&D purposes…. [self setWindow: [[UIWindow alloc] initWithFrame: CGRectMake(0.0f, 20.0f, 320.0f, 320.0f)]]; if ([self window]) { […]