Tengo una sola imagen que quiero como fondo para mi aplicación, sin importar en qué controlador de visualización estén, ¿cómo se logra esto?establecer imagen de fondo para toda la aplicación de iPhone/iPad
Respuesta
Así es como se establece un fondo a una imagen:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
Editar: para escribir lo que dijo Felixyz (y gracias a Manni), hacer esto en su delegado:
window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
Y en cada vista que desea tener la imagen, haga esto:
self.view.backgroundColor = [UIColor clearColor];
Depende del tipo de interfaz que tenga. ¿Tabbed? ¿Basado en navegación? Pero la respuesta general es: agregue un UIImageView a su UIWindow antes/debajo de su vista principal. Luego haga que cada vista manejada por su controlador de vista principal tenga un fondo transparente. Es difícil dar consejos más específicos sin saber si usa IB o no, o cómo se ve su jerarquía de vistas.
navegación basada, así como los controladores de vista se empujan y se metió el fondo permanece – Slee
La combinación de sudo y sugerencias de Manni hace que sea fácil de lograr lo que necesita: establecer el backgroundColor en la ventana para ser una imagen (colorWithPatternImage :) y hacer que backgroundColor en el controlador de navegación y todos sus subcontroladores sean transparentes. Es posible que deba establecer opaque = NO en ellos también. Tenga en cuenta que esto podría afectar el rendimiento durante las animaciones, pero no debería ser un problema en los dispositivos más nuevos. – Felixyz
En mi aplicación, configuré un color de fondo predeterminado. Tal vez usted puede hacer esto con el fondo de la imagen:
1 .: Ajuste el color de fondo de su UIWindow en su AppDelegate:
window.backgroundColor = [UIColor myBackgroundGray]; // own Category
2 .: Y ahora, hacer que todos los otros puntos de vista transparente:
self.view.backgroundColor = [UIColor clearColor]; // = transparent
Esto causa un error grave al presentar presentadores modales con animación. Puede ver los controles desde la vista modal y la vista existente y luego desaparece la vista existente. –
Su fondo es propiedad de cualquier objeto que hereda View. Las etiquetas, los botones, los controladores y la ventana de la aplicación, por ejemplo, tienen fondos. Si quieres que sea completamente un bg para toda la aplicación, debes subir la ruta en tus controladores para encontrar la vista "superior" (vista desde abajo) y establecer su fondo para que sea la imagen que deseas.
En su AppDelegate en
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Añadir esta línea:
[self.window setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];
Después solo hay que fijar sus vistas fondos a [UIColor clearColor];
No estoy seguro de las implicaciones de rendimiento, pero necesitaba lograr algo similar, y terminé usando un UIImageView que funciona bien (en C#, pero funciona igual en obj-c):
//Add the view controller first, to ensure proper order of views later.
Window.RootViewController = new UIViewController();
//create backdrop image view
var imageView = new UIImageView(Window.Bounds);
imageView.Image = UIImage.FromBundle("backdrop.jpg");
//insert into window.
Window.InsertSubview(imageView, 0);
Esto no controla los cambios de orientación, pero en mi caso, me permitió agregar efectos de movimiento al fondo (como el paralaje).
Normalmente utilizo esta función para evitar superposiciones con la barra de navegación en iphone.
-(void)setImageBackground:(NSString*)imageName{
UINavigationController* navigationController = [self navigationController];
float height = navigationController.toolbar.frame.size.height;
CGSize size = self.view.frame.size;
size.height = size.height;
UIGraphicsBeginImageContext(size);
CGRect bounds = self.view.bounds;
bounds.origin.y = bounds.origin.y + height;
bounds.size.height = bounds.size.height-height;
[[UIImage imageNamed:imageName] drawInRect:bounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:image];
}
a llamar a esta assignbackground
en viewDidLoad
override func viewDidLoad() {
assignbackground()
}
func assignbackground(){
let background = UIImage(named: "background")
var imageview : UIImageView!
imageview = UIImageView(frame: view.bounds)
imageview.contentMode = UIViewContentMode.ScaleAspectFill
imageview.clipsToBounds = true
imageview.image = background
imageview.center = view.center
view.addSubview(imageview)
self.view.sendSubviewToBack(imageview)
}
- 1. Establecer imagen de fondo para toda la aplicación en Android
- 2. ¿Cómo establecer un fondo para toda la aplicación en Android?
- 3. Establecer una imagen de fondo para UIButton
- 4. Establecer imagen de fondo para QPushButton
- 5. Establecer color/imagen de fondo para EKEventEditViewController
- 6. ¿Forma fácil de establecer CurrentCulture para toda la aplicación?
- 7. Cómo establecer la imagen de fondo para la aplicación de iphone en el teléfono
- 8. Cómo establecer la imagen de fondo para Editar (Delphi)
- 9. Cómo establecer la imagen de fondo de una vista?
- 10. Establecer imagen de fondo en uitableview?
- 11. Establecer imagen de fondo en UIViewController (MonoTouch)
- 12. ¿Cómo configuro un color de fondo para toda la ventana de una aplicación Qt?
- 13. ¿Establecer imagen de fondo para el color de fuente?
- 14. usando la imagen de fondo para li
- 15. ¿Establecer imagen de fondo para el diseño relativo?
- 16. ¿Cómo establecer la imagen como fondo de pantalla mediante programación?
- 17. Imagen de fondo para wrap_content
- 18. Establecer la imagen de fondo de un SurfaceView
- 19. ¿Cómo establecer la imagen de fondo del botón de imagen para un estado diferente?
- 20. Aplicación de esquinas redondeadas para toda la aplicación
- 21. Establecer un color de fondo de página web antes de que cargue la imagen de fondo
- 22. ¿Cómo establecer la imagen de fondo para el gráfico de líneas de achartengine en Android?
- 23. Cómo establecer la imagen de fondo de un lienzo html 5 en la imagen .png
- 24. ¿Cómo establecer el fondo de la aplicación de Android?
- 25. UITableViewController Imagen de fondo
- 26. Establecer imagen de fondo de una ventana OpenGL
- 27. Imagen de fondo de TableView en la aplicación de iPad
- 28. cómo ajustar toda la imagen en la pantalla como fondo de pantalla
- 29. Establecer fondo de ToastNotification
- 30. Ubicación de la imagen de fondo
Terminé usando un UIImageView en el plumón de la ventana principal y UIColor clearColor en mis vistas. Tenga en cuenta que el uso del colorWithPatternImage tal como lo indicó anteriormente hizo que mi memoria utilice el salto de 1.7M a 9.5M cuando la aplicación se cargue por primera vez - colorWithPatternImage parece consumir una tonelada de memoria. – Slee
Se recomienda preparar 3 archivos png para su aplicación Universal, dice Background.png, [email protected], Background ~ iPad.png, y establecer el fondo usando el siguiente código: self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @ "Fondo"]]; iOS seleccionará el archivo png correcto debido a la categoría de su dispositivo. Espero que esta ayuda. – ZYiOS
Probé el enfoque anterior en una aplicación basada en 'UINavigation'. El problema con este enfoque es que establecer una imagen en window.background configura correctamente la imagen, pero hacer que la otra vista sea clara es incorrecta, ya que durante la visualización push o pop Al superponer, puede ver las vistas insertadas en la pila. Cualquier idea sobre cómo solucionarlo – Shekhu