2013-07-05 15 views
5

To nie jest duplikat Czytałem inne pytania dotyczące tego i żaden z nich nie dał mi tego, czego potrzebowałem, tworzę widok tabeli z niestandardową komórką i stylem jest zgrupowane. Mam 1 ImageView w każdym rzędzie, który jest mniejszy niż cały wiersz. Ile komórek muszę utworzyć jest coś, co mogę uzyskać z db, więc nie mogę używać statycznych komórek muszę mieć odstępy między wierszami, nie mogę dowiedzieć się, jak Zrób to. Próbowałem co komórka Bigger (320,143) i czyni go niewidzialnym, które udało mi się zrobić, ale wtedy po naciśnięciu poza obrazem wciąż działającą jak i przycisnął komórkę to dość dużo, co chcę osiągnąćJak utworzyć dopełnienie (odstępy) między wierszami w tablview

first pic

ale to, co się dzieje:

second pic

muszę komórkę za rozmiar zdjęć ale mieć odstępy między rzędami zaczepienia. jak mogę to zrobić?

Odpowiedz

18

Wiele sposobów na zrobienie tego, ale okazało się, że jest to najprostszy i najłatwiejszy sposób na zrobienie tego.

Zestaw zgrupowanych stylów UITableView. Następnie mają dwie sekcje i każda sekcja ma tylko jeden wiersz. Zastąp swój obraz w rzędzie.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ 
    //array is your db, here we just need how many they are 
    return [array count]; 
} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return 1; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    //place your image to cell 
} 
- (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ 
    //this is the space 
    return 50; 
} 
+0

Mój styl UITableview jest już zgrupowany, nie mam tylko 2 zdjęć do pokazania, ile mam jest coś, co przechowuję w db, i co masz na myśli przez sektory? –

+0

miałeś na myśli tworzenie komórek statycznych i używanie sekcji? Nie mogę tego zrobić, ponieważ nie mogę wiedzieć, ile komórek będę potrzebować. –

+1

Przepraszam, moje złe. Mam na myśli sekcje, a nie sektory. Zaktualizowałem odpowiedź. To powinno rozwiązać twój problem. – brianLikeApple

1

1.First można zwiększyć rozmiar heightForRowAtIndexPath

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    return 150; 
} 
  1. Następnie dodać własny pogląd na tableViewCell. następnie ustaw view.frame zgodnie z pożądanym wypełnieniem.
2

Po prostu zmień kolor komórki i dodaj dopełnienie, dodając wysokość. Dodaj obraz tła (lub kolor) swojej komórki, jakkolwiek chcesz później, wstawiając nowy widok lub etykietę o mniejszej wysokości.

W ten sposób można zachować tabelę z wieloma sekcjami i wieloma wierszami.

0

Możesz to zrobić w zaledwie 3 liniach.

Najpierw ustaw szary kolor głównego widoku po tym postępuj zgodnie z tymi liniami.

cell.separatorInset = UIEdgeInsetsMake(20, 20, 20, 20); 
cell.layer.borderWidth = 5; 
cell.layer.borderColor = [UIColor whiteColor].CGColor; 
Powiązane problemy