Sería de gran ayuda si usted envió su código, pero: usted está presumiblemente añadiendo el UITableView
a su RootViewController con algo como esto:
[self.view addSubview:myUITableView];
acaba de añadir su vista flotante de la misma manera (es decir, agregarlo a su controlador de vista, no a su UITableView). Si lo agrega después de agregar la vista de tabla, ya estará "arriba" de la vista de tabla. De lo contrario puede llevar a la cima con algo como esto:
[self.view bringSubviewToFront:myOverlayView];
Su punto de vista de superposición debe subclase UIView
, y debe establecer su propio backgroundColor
a [UIColor clearColor]
con el fin de hacerlo transparente. Para permitir que el usuario continúe interactuando con la vista de tabla (que presumiblemente quiere que suceda), en su subclase de superposición sobrescribe hitTest:withEvent:
y devuelve la vista de tabla (en lugar de devolver self
, que es el comportamiento predeterminado). Esto pasará todos los toques a la vista de tabla debajo.
Puede configurar userinteractionenabled a no y esto pasa todos los eventos a la vista subyacente, no necesita anular hitTest – jrturton
@jrturton: sí, eso es mucho más simple que anular hitTest. – MusiGenesis
Como estoy en mi clase RootViewController tengo que escribir: '[self.parentViewController.view addSubview: self.myOverlayView];', pero todo funciona. –