2009-11-28 15 views
8

tengo vista de tabla en la que Quiero mi punto de vista de imagen para restablecer el marcoCómo establecer el marco cell.imageview

He utilizado el siguiente código:

[[cell imageView] setFrame:CGRectMake(0,0,32,32)]; 

Pero nada está funcionando

Por favor, hágamelo saber cómo cambiar el tamaño de la sección imageView predeterminado

Gracias

+5

Esta es su octava pregunta sobre stackoverflow, pero ninguna de sus preguntas tiene una respuesta aceptada. Debe cambiar eso y aceptar las respuestas que lo ayudaron. – Pascal

Respuesta

2

UITableViewCell tienen un diseño fijo, dependiendo del estilo que use cuando lo inicialice. No puede cambiar ese diseño, ya que la celda establece sus subvistas, ya que prefiere tenerlas.

Si desea utilizar otro diseño, tendrá que hacer su propia celda y usar eso. Citando la documentación de UITableViewCell:

Si desea una celda de tabla que tiene una configuración diferente que aquellos definido por UITableViewCell por el estilo, debe crear su propia Celle encargo

+0

Sin embargo, no mencionó querer un estilo celular diferente. El diseño de estilo de celda cambia muy bien si coloca cell.imageview.image más pequeño o más grande. Simplemente necesita hacer que su imagen sea más pequeña. –

+0

Bueno, dijo que quería cambiar el marco de imageView, y esto no funciona en las celdas estándar, ya que ellos mismos diseñan sus subvistas. Sin embargo, tienes razón de que la celda se adapta a diferentes tamaños de imagen. – Pascal

17

La mejor manera de es añadir - (void)layoutSubviews a la subclase de células así:

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    self.imageView.frame = CGRectMake(0.0f , 0.0f, 32.0f, 32.0f); 
} 
+1

Esta debería ser la respuesta aceptada. –

0

Si desea cambiar su tamaño para mostrar alta resolución im las edades en la pantalla retina, también puede guardar una segunda imagen con doble resolución y nombrarla con @ 2x postfix.

Cuestiones relacionadas