¿Cómo agregar vista en UIWindow?

Quería agregar una vista en UIWindow con el siguiente código:

  AppDelegate *delegate = (AppDelegate *)[UIApplication shanetworkingApplication].delegate; UIWindow *window = delegate.window; UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; aView.backgroundColor = [UIColor blackColor]; [window addSubview:aView]; 

Este código no funcionó. Quería clonar la propiedad de UIAlertView. Aparecerá encima de todo cuando llamemos [alertViewInstance show]; método.

Intenté esto también:

  UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; UIWindow* window = [UIApplication shanetworkingApplication].keyWindow; if (!window) { window = [[UIApplication shanetworkingApplication].windows objectAtIndex:0]; } [window addSubview:aView]; [window bringSubviewToFront:aView]; 

Prueba este código:

 window = [[UIApplication shanetworkingApplication].windows lastObject]; 

Reemplace el siguiente código:

 window = [[UIApplication shanetworkingApplication].windows objectAtIndex:0]; 

Pruebe con este código:

 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIWindow* window = [UIApplication shanetworkingApplication].keyWindow; if (!window) { window = [[UIApplication shanetworkingApplication].windows objectAtIndex:0]; } UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; aView.backgroundColor = [UIColor networkingColor]; aView.center = window.center; [window insertSubview:aView aboveSubview:self.view]; [window bringSubviewToFront:aView]; } 

Si estás usando UINavigationController Usar:

 [self.navigationController.view.window addSubview:aView]; 

Si está utilizando UITabBarController Utilice:

 [self.tabBarController.view.window addSubview:aView]; 

En AppDelegate puedes asignar directamente una vista a la window. En el método appDelegate didFinishLaunchingWithOptions , use:

 [self.window addSubview:aView]; 

Espero eso ayude…

Su Windows necesita tener un controller de vista raíz.

 AppDelegate *delegate = (AppDelegate *)[UIApplication shanetworkingApplication].delegate; UIWindow *window = delegate.window; UIViewController *controller = [[UIViewController alloc] init]; window.rootViewController = controller; UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; aView.backgroundColor = [UIColor blackColor]; [controller.view addSubview:aView]; 

Puede probar el código siguiente … para agregar subvista a la window

 UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; aView.backgroundColor = [UIColor blackColor]; [[UIApplication shanetworkingApplication].keyWindow addSubview:aView]; 

// Eliminar

 [aView removeFromSuperview]; 

Espero que te ayude ..!

Creo que te estás perdiendo esto. marque una vez

 [self.window makeKeyAndVisible]; 

UIAlertView crea otra UIWindow y establece esta window como window de key cuando llama al método show. Por lo tanto, si desea mostrar su propia vista de alerta, cree una instancia de UIWindow para mostrarla y agregue su vista de alerta personalizada a esta window recién creada.

Puede agregar vista usando lo siguiente

 [[[UIApplication shanetworkingApplication] keyWindow] addSubview:YOUR_VIEW];