2011-05-18 17 views
8

Tengo una aplicación para iPad que presenta una vista modal. Me gustaría hacer alguna manipulación programática de los controles de la vista modal, pero no puedo encontrar la manera de obtener el tamaño de la vista modal. Si llamo a View.Bounds o View.Frame, me da los límites/marco para toda la pantalla (es decir, 1024x768), pero sé, al medirme a mí mismo, que la vista modal es en realidad de 540x620.Determinado programáticamente el tamaño de una vista modal de iPad

Aunque sé que puedo codificar esto en mi mismo, esto me hace sentir sucio ... ¿hay alguna manera programática para que una vista modal obtenga su propio tamaño "real"?

Gracias

John

+0

¿Puedes publicar el código de lo que estás haciendo para obtenerlo? –

+0

No estoy seguro de lo que está preguntando. Estoy tratando de averiguar cuál es el código para obtener el tamaño, no lo tengo escrito ya ... – John

Respuesta

8

Gracias. El problema fue que estaba tratando de obtener el tamaño en el método ViewDidLoad, en lugar de ViewDidAppear (ese siempre me da ...). En ViewDidLoad devolvía el tamaño de 1024x768, pero cuando moví mi código a ViewDidAppear, ¡comenzó a devolver el tamaño correcto (540x620)!

4

¿Usted ha intentado establecer modalPresentationStyle?

modalController.modalPresentationStyle = UIModalPresentationFormSheet; 

Entonces usted debe obtener el tamaño correcto de trama (540 x 620) de modalController.view.frame.

+8

Gracias. El problema fue que estaba tratando de obtener el tamaño en el método ViewDidLoad, en lugar de ViewDidAppear (ese siempre me da ...). En ViewDidLoad devolvía el tamaño de 1024x768, pero cuando moví mi código a ViewDidAppear, ¡comenzó a devolver el tamaño correcto (540x620)! – John

+1

@John Este comentario tuyo me hizo darme cuenta de por qué a menudo tenía problemas para obtener y establecer el tamaño de la vista. Supongo que esta información también está escrita en algún lugar del Apple Doc. De todos modos, creo que deberías haber creado una respuesta (ya que es lo que es) en lugar de escribir un comentario. – Luka

+0

Buena idea, gracias. – John

Cuestiones relacionadas