ver todas que notificaciones mail los las iconos globos correo barra antiguas agrupar iphone uiview

iphone - todas - ¿Cómo hacer que una UIView siempre aparezca en el frente?



ver notificaciones antiguas en iphone (4)

En lugar de usar -addSubview: para insertar sus imágenes, use -insertSubview:belowSubview: y pase su UIView como el segundo parámetro:

[self.view insertSubview:myImage belowSubview:myControlView];

Tenga en cuenta que, para fines similares, también tiene acceso a los métodos -insertSubview:aboveSubview: y -insertSubview:atIndex:

Actualmente tengo una UIView que contiene algunos controles. Luego tengo algunas imágenes que agrego programáticamente a la vista para mostrarlas como animaciones. Actualmente, al final de cada intervalo de mi ciclo de juego, tengo que decirle al controlador que mueva el control UIView al frente, de lo contrario, las imágenes aparecerán en la parte superior. ¿Existe un método menos costoso para hacer que persista como siempre en la parte superior.

Actualmente tengo lo siguiente al final de mi ciclo de juego:

[self.view bringSubviewToFront:myControlView];

¿Podría hacer algo como esto cuando el juego inicie:

myControlView.alwaysOnTop = true;


La otra opción es colocar su vista en otra UIWindow con higher windowLevel. Aprende de Flipboard FLEX o mi Paramount simplificado

Manager.action = { print("action touched") } Manager.show()

Eche un vistazo a FLEXWindow sobre cómo elegir windowLevel adecuado y manejar touch

- (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor clearColor]; // Some apps have windows at UIWindowLevelStatusBar + n. // If we make the window level too high, we block out UIAlertViews. // There''s a balance between staying above the app''s windows and staying below alerts. // UIWindowLevelStatusBar + 100 seems to hit that balance. self.windowLevel = UIWindowLevelStatusBar + 100.0; } return self; } - (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event { BOOL pointInside = NO; if ([self.eventDelegate shouldHandleTouchAtPoint:point]) { pointInside = [super pointInside:point withEvent:event]; } return pointInside; }


para hacer que una subvista se mueva al reverso de todas las otras subvistas actuales, use view.sendSubviewToBack(yourSubview) .


C objetivo

#import <QuartzCore/QuartzCore.h> myAlwaysOnTopView.layer.zPosition = MAXFLOAT;

Swift 2

myAlwaysOnTopView.layer.zPosition = .max

Swift 3

myAlwaysOnTopView.layer.zPosition = .greatestFiniteMagnitude

Esta solución es mejor, especialmente si desea que su vista esté siempre en la parte superior, independientemente de otras vistas agregadas después de ella. Simplemente agregue cualquier otra vista usando addSubview: y siempre permanecerá en la parte superior.