2009-11-28 17 views
8

Mam widok tabeli, w której chcę mój widok obrazu, aby zresetować ramkęJak ustawić ramkę cell.imageview

Użyłem poniższy kod:

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

Ale nic nie działa

Proszę dać mi znać, jak zmiana rozmiaru sekcji domyślny ImageView

Dzięki

+5

To jest twoje 8 pytanie na stackoverflow, ale żadne z twoich pytań nie ma akceptowanej odpowiedzi. Powinieneś to zmienić i zaakceptować odpowiedzi, które ci pomogły. – Pascal

Odpowiedz

2

UITableViewCell mają stały układ, w zależności od stylu używanego podczas jego inicjowania. Nie można zmienić tego układu, ponieważ komórka określa swoje subviews, ponieważ woli je mieć.

Jeśli chcesz użyć innego układu, musisz utworzyć własną komórkę i użyć jej. Cytowanie dokumentację UITableViewCell:

Jeśli chcesz komórkę tabeli, która ma konfigurację inny, że ci zdefiniowane przez UITableViewCell dla stylu musisz stworzyć swój własny Celle

+0

Nie wspomniał jednak o chęci odmiennego stylu komórek. Układ w stylu komórki zmienia się ładnie, jeśli umieścisz mniejszy lub większy obraz komórki.imageview.image. Po prostu musi zmniejszyć swój wizerunek. –

+0

Cóż, powiedział, że chce zmienić ramkę imageView, a to nie działa w standardowych komórkach, ponieważ same układają swoje subviews. Masz jednak rację, że komórka dopasowuje się do różnych rozmiarów obrazu. – Pascal

17

Najlepszym sposobem jest dodanie - (void)layoutSubviews do podklasy komórek tak:

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

To powinna być zaakceptowana odpowiedź. –

0

Jeśli chcesz zmienić jego rozmiar, aby pokazać im wysokiej rozdzielczości wieku na wyświetlaczu siatkówki, można również zapisać drugi obraz z podwójną rozdzielczością i nazwać go z @ 2x postfix.

Powiązane problemy