Subview en la parte superior de la vista de window en Swift

Quiero colocar una UIView en toda la pantalla (incluida la barra de navigation). Esta vista será negra con 0.3 opacidad. Quiero hacer esto para oscurecer el contenido de la pantalla y presionar una vista encima de esto. Estoy usando este código:

UIApplication.shanetworkingApplication().keyWindow?.addSubview(darkView) 

Esto cubre toda la pantalla como se esperaba. Sin embargo, ahora quiero colocar otra vista en la parte superior de esta vista oscura. ¿Hay alguna forma de hacer esto? Todo lo que bash solo hace que la vista esté bajo la vista oscura. ¡Cualquier puntero sería realmente apreciado! Gracias

Es muy simple

¡Simplemente agrega otra vista a la window ! Y estará allí, además de la primera vista que agregó. Por ejemplo, este código agrega una vista en negro y una vista en blanco:

 let window = UIApplication.shanetworkingApplication().keyWindow! let v = UIView(frame: CGRect(x: window.frame.origin.x, y: window.frame.origin.y, width: window.frame.width, height: window.frame.height)) window.addSubview(v); v.backgroundColor = UIColor.blackColor() let v2 = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 50)) v2.backgroundColor = UIColor.whiteColor() window.addSubview(v2) 

También puede agregar la nueva vista como una vista secundaria de la primera vista que agregó:

 let window = UIApplication.shanetworkingApplication().keyWindow! let v = UIView(frame: CGRect(x: window.frame.origin.x, y: window.frame.origin.y, width: window.frame.width, height: window.frame.height)) window.addSubview(v); v.backgroundColor = UIColor.blackColor() let v2 = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 50)) v2.backgroundColor = UIColor.whiteColor() v.addSubview(v2) 

¡Sencillo!

Para SWIFT 3, use esto:

 let window = UIApplication.shanetworking.keyWindow! window.addSubview(someView)