Pregunta

Estoy tratando de crear un controlador de selección con un botón 'Listo' ubicado justo encima de él, para mostrar sobre un formulario que está en otra vista.

He creado una subclase de UIViewController y, con IB, he agregado una barra de herramientas y una vista de selección. Esto parece correcto y al copiar los ejemplos en UICatalog puedo mostrar los valores requeridos y puedo escuchar las selecciones, etc.

texto alternativo http://web.me.com/gareth.davis /so/settlement_picker_ui.png

En lo anterior, configuré el color de fondo de la vista para que sea alfa 0.0. También he intentado configurar el alfa de la vista en sí mismo a 0.0, esto solo muestra una vista completamente transparente.

texto alternativo http://web.me.com/gareth.davis /so/picker_running_in_app.png

Lo anterior es el controlador de vista que se muestra en la parte superior de mi formulario usando:

    [self presentModalViewController:settlementPickerViewController                         
                        animated:YES];

Además de intentar establecer varias propiedades alfa de mi vista, también he intentado cambiar la altura de la vista para que no haya necesidad de una sección transparente, el problema es que la vista se coloca a mitad de camino pantalla.

¿Fue útil?

Solución

La solución parece ser no usar un UIViewController, sino que un simple UIView personalizado funciona bien.

Usé la configuración de color de Haentz en el método awakeFromNib:

- (void)awakeFromNib {
    picker.delegate = self;
    self.backgroundColor = [UIColor clearColor];    
}

Tenga en cuenta que debe implementar esto y no usar el método initWithFrame que la plantilla de x-code le proporciona, ya que las vistas controladas por el plumín no usan initWithFrame (de la documentación de Apple).

Otros consejos

Probablemente no lo entiendo, pero no entiendo exactamente cuál es el problema aquí. En la captura de pantalla inferior, ¿deberían los elementos de la interfaz de usuario ser transparentes, sin el área blanca arriba? Debe establecer el marco de UIView en su UIViewController de manera adecuada y supongo que es posible que tenga que establecer el color de fondo transparente:

self.view.backgroundColor = [UIColor clearColor];

No estoy seguro, ya que nunca uso el IB, pero puede ser posible establecer el valor Alfa del color de fondo de la vista base en 0. No el alfa de la vista en sí, sino del color de fondo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top