2009-09-29 14 views

Respuesta

7

Según la UIView documentation:

Antes de iPhone OS 3.0, UIView casos pueden tener una altura máxima y la anchura de 1024 x 1024. En iPhone OS 3,0 y más tarde, las vistas se ya no restringido a este tamaño máximo, pero todavía están limitados por la cantidad de memoria que consumen. Por lo tanto, es en su mejor interés para mantener los tamaños de vista lo más pequeños posible. Independientemente de cuya versión de iPhone OS es ejecutándose, debe considerar el uso de un objeto CATiledLayer si necesita para crear vistas de tamaño superior a 1024 x 1024 .

En realidad, pude crear UIViews y CALayers que tenían un tamaño de 2048 x 2048 en un iPhone/iPhone 3G estándar en 2.x. Cualquier cosa arriba que simplemente dejó de renderizar.

+0

Gracias como siempre Brad. Buscaré en CATiledLayer. Una de las partes restantes de Cocoa que no he tenido claro es cuándo debo implementar a nivel de CALayer y cuándo debería permanecer en el nivel superior de UIView. ¿Tienes alguna idea aquí? Gracias, Doug. – dugla

+0

En cuanto a rendimiento, son aproximadamente los mismos. Puede hacer animaciones más avanzadas con CALayers, pero puede realizarlas en el respaldo CALayer de una UIView. La razón más importante que he encontrado es el código multiplataforma Mac-iPhone, ya que la API de CALayer es prácticamente idéntica entre las dos plataformas. Para obtener más información, consulte las respuestas a esta pregunta: http://stackoverflow.com/questions/1447598/when-to-use-calayer-on-the-mac-iphone –

+0

tuve algunos problemas al tratar de representar una gran jerarquía WKWebView para un UIImage usando contextos, finalmente si utilizo un formateador de impresión funcionó al configurar el tamaño de página de acuerdo con el tamaño que quería representar, solo en la primera página. –

1

No sé que hay un límite específico. He creado UIScrollViews que tienen cientos de páginas de ancho sin ningún problema. ¿Lo has probado y has tenido problemas?

Paul

+0

Me pregunto acerca de las dimensiones máximas de píxeles para la vista de contenido que desplaza/desplaza scrollView. ¿Cuál fue el tamaño en píxeles de las páginas que usaste? – dugla

+1

Estoy trabajando en una aplicación de lectura de libros. Algunos de los libros tienen varios cientos de páginas, por lo que son 320 x 700 == 224000. Lo que estoy diciendo es que no he visto un límite práctico. No creo que preasigne memoria ni nada. –

0

Yo no creo que haya un límite imaginable. Dado que los tamaños se almacenan como flotadores, mi conjetura sería que está limitado a CGFLOAT_MAX, que es tan grande que no hay necesidad de preocuparse por ello.

+0

Barry, mi preocupación es ejemplificar una UIView - subclase allí de - que supera un límite fijo. Tal vez el tamaño del framebuffer desde la representación del hardware está sucediendo bajo el capó de todo en i (Phone | Pod). – dugla

Cuestiones relacionadas