Tag: uiwindow

使用animation更改UIWindow图像(使用UIColor patternImage的backgroundColor)

我正在尝试使用两个UIWindow图像(使用backgroundColor与UIColor patternImage )之间的animation进行转换。 我有两个图像myImage1和myImage2 。 我使用函数changeImage1()更改UIWindow backgroundColor一次,然后再次使用函数changeImage2() 。 我也设置view.backgroundColor = UIColor.clearColor()以便我可以看到UIWindow上发生了什么。 下面的代码。 testingA: 当我将window.backgroundColor = UIColor.redColor()更改window.backgroundColor = UIColor.redColor() window.backgroundColor = UIColor.blueColor() ,在UIWindow之间的animation从红到蓝的颜色之间有一个很好的转换。 (见代码A) testingB: 然而,当我设置模式图像window.backgroundColor = UIColor(patternImage:…)并调用changeImage1() , myImage1animation很好,但是当我然后调用changeImage2()没有animation, myImage2突然取代myImage1 。 (见代码B) 问题: 1 – 如何在myImage1和myImage2之间使用UIWindow上的animation进行myImage2 ? 2 – 我在我的代码中错过了什么,只是交换图像,而不是它们之间的animation,为什么myImage1animation,但myImage2不是? 3 – 是否有其他方法来animation两个图像/交叉溶解在UIWindow不使用UIColor(patternImage:…)? 码: A: func changeImage1() { self.view.backgroundColor = UIColor.clearColor() //show UIWindow UIView.animateWithDuration(2, delay: […]

外部显示窗口影响主屏幕

当有一个额外的屏幕(最多2)时,我创build一个新的窗口。 每个窗口在不同的屏幕上显示不同的内容。 问题是在iOS7下:创build并显示这个外部窗口使状态栏在第一个可见的,这也是主要的。 然后,系统添加一些空间(20点)重新排列顶部栏和一些视图。 它不适合我,因为这是一个自定义栏。 为什么会发生这种情况,我怎样才能阻止系统添加状态栏? 这是违规的代码: – (void) handleScreenConnectNotification:(NSNotification*)notification { NSLog(@"screens=%@ _secondWindow = %@",[UIScreen screens], _secondWindow ); if ( [[UIScreen screens] count] > 1) { // Associate the window with the second screen. // The main screen is always at index 0. UIScreen * secondScreen = [[UIScreen screens] objectAtIndex:1]; CGRect screenBounds = secondScreen.bounds; _secondWindow […]

如何将响应通知的模态视图显示为新窗口? (没有父vc)

我有很多问题处理我的传入本地通知。 我的应用程序正在使用故事板,并有一个tabbarcontroller作为rootviewcontroller。 目前,我通过以下方式从“didReceiveLocalNotification”启动模态视图: MedicationReminderViewController *vc = [[MedicationReminderViewController alloc] initWithNibName:@"MedicationReminderViewController" bundle:nil]; vc.notificationInfo = [[NSDictionary alloc] initWithDictionary:notification.userInfo]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:vc]; navController.navigationBar.barStyle = UIBarStyleBlackOpaque; navController.title = @"title"; UITabBarController *tc = (UITabBarController *)self.window.rootViewController; UINavigationController *nc = (UINavigationController *)tc.selectedViewController; [[nc visibleViewController] presentModalViewController:navController animated:YES]; 这有效,但不是在任何场合。 我想在新窗口中显示当时可以显示的任何其他模态视图。 当用户处理传入的通知时,模式视图将自行消除,并且在通知进入之前活动的基础视图将再次可见。 我怎样才能做到这一点?

在iOS上,我们可以从UIScreen对象获取主UIWindow对象吗?

说,如果我们已经有aScreen屏幕指向主屏幕,通过 UIScreen *aScreen = [UIScreen mainScreen]; 我们可以从这个UIScreen对象到主UIWindow对象吗? (他们是否有任何连接?也就是说,而不是使用[UIApplication sharedApplication].keyWindow )

与Xcode的斗争不显示我的UIWindow

请参阅问题末尾的修改 我试图得到一个简单的iPhone应用程序启动和运行失败: 我有一个非常简单的设置。 我有一个应用程序委托,一个视图控制器和一个包含一个UIImageView和三个UIButton的UIWindow的xib文件。 问题是,当我启动我的应用程序, UIWindow永远不会显示。 我确定我只是在Interface Builder中缺less某种连接(顺便说一句,我正在运行XCode 4)。 我只是完全失去了什么可能会导致问题。 我很欣赏这个解释不是很好,所以如果有人有任何相关的问题,请随时问问他们! 编辑 :好吧,我可以重新创build我的问题。 如果我创build一个“基于视图”的应用程序,然后添加一个button(也试过一个滑块)创build的窗口,当我编译和运行,button不显示。 是什么赋予了?

closures当前提供的所有UIAlertController

有没有办法解雇目前呈现的所有UIAlertControllers? 这是因为从任何地方和我的应用程序的任何状态,当按下推送通知时,我需要到某个ViewController。

UIWindow RootViewController更改SWIFT时触发事件/方法

我正在研究一个iOS框架。 我有一个要求,当用户进入或退出一个特定的视图控制器时logging事件。 为此,我想如果以某种方式我可以注册通知来触发一个自定义的方法,当根视图控制器改变。 或者也许使用KVO。 但我不明白如何从实施的angular度来做这件事,因为我找不到任何这样的通知。 任何在这方面的帮助将不胜感激。 谢谢。 请注意,这是一个框架项目。 所以这个框架是build立的,然后添加/embedded到另一个应用程序。 我没有关于该应用程序中的视图控制器的任何信息。 我唯一可以访问的是UIWindow的根视图控制器。 所以,我需要知道什么时候发生变化。

AppDelegate UIWindow在不同的viewController中的addSubView

我想从UIViewController的AppDelegate的UIWindow中添加一个UILabel。 这是我如何做到这一点: AppDelegate代码 : – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease]; } else { self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease]; } [self.window makeKeyAndVisible]; self.window.rootViewController = […]

iOS self.window – 它是什么时候创build的?

当你启动你的应用程序使用单个视图模板,并添加NSLog(@"self.window = %@", self.window); 在AppDelegate.m的application: didFinishLaunchingWithOptions:第一行application: didFinishLaunchingWithOptions:方法中,您可以看到self.window存在于您的应用程序中。 但是,当您使用空模板启动应用程序并尝试将self.windowlogging到控制台时,结果将返回null 。 即使添加了Storyboard和一个视图控制器,并将其视图控制器设置为初始视图控制器,并尝试loggingself.window ,结果也是一样的 – 它的值设置为null 。 并注意,无论你采取什么方式,你可以find你声明@property (strong, nonatomic) UIWindow *window; 在AppDelegate.h默认情况下。 所以我想知道为什么在第一种情况下,你可以看到self.window被初始化并设置了这个值,但是在后一种情况下没有。 另外,如果self.window已经在第一种情况下被声明和初始化,而在第二种情况下则不是,我怎样才能find初始化代码呢? 看起来在这两种情况下, @property声明是相同的 – 在这两种情况下,正如我所提到的,我尝试在AppDelegate.m的application: didFinishLaunchingWithOptions:的第一行loggingself.window的值application: didFinishLaunchingWithOptions:方法。 那么我错过了什么? 我不知道为什么这两个案件的行为不同,尽pipe我没有发现任何代码和故事板的差异。 我使用iOS 7和Xcode 5.谢谢。

获取应用程序的主窗口

UIApplication有一个方法keyWindow ,但是如果显示一个alert视图,那么这将返回警报视图的窗口而不是应用程序的主窗口。 我怎样才能得到应用程序的主窗口?