Ich habe überall gesucht und habe meine Antwort nicht ganz gefunden.iPhone - Erstellen benutzerdefinierter UITableViewCell oberen und unteren Grenzen
Ich befüllen ein UITableView mit dynamischen Zellen aus JSON und ich versuche, alle zusätzlichen Zellen zu verstecken. Ich habe die Separatoren in IB ausgeschaltet, und natürlich verschwinden alle Zellseparatoren. Wie füge ich am unteren und oberen Ende jeder Tabellenansicht eine Zeile hinzu, so dass nur die Zellen, die Informationen enthalten, einen Rahmen aufweisen? Ich habe Quartz importiert und habe mit CALayer gespielt, kann aber keine Lösung finden.
Ich fand eine ähnliche Frage hier, aber die einzige Antwort war nicht sehr hilfreich.
Was wäre eine bessere, andere Art, dies zu tun?
Hier sind meine cellForRowAtIndexPath und meine numberOfRowsInSection:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// Return the number of rows in the section.
//set equal to the information in the array
return [_jsonDataArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
//create Dictionary of data in row
NSDictionary *jsoninfo = [_jsonDataArray objectAtIndex:indexPath.row];
//get required keys from dictionary and assign to vairables
NSString *title = [jsoninfo objectForKey:@"title"];
NSString *subtitle = [jsoninfo objectForKey:@"subtitle"];
NSURL *imageURL = [NSURL URLWithString:[jsoninfo objectForKey:@"series_image_URL"]];
//download the images.
NSData *imgData = [NSData dataWithContentsOfURL:imageURL];
UIImage *img = [[UIImage alloc] initWithData:imgData];
//set boarder for custom cells... I need to have a border on the top and bottom of the cells I am creating so xcode does not autofill the empty space.
//fill in text to cells
cell.textLabel.text = title;
cell.detailTextLabel.text = subtitle;
cell.imageView.image = img;
return cell;
}
Vielen Dank für die Hilfe. Was wäre der beste Weg, dies zu tun? Ich möchte es so schnell wie möglich machen. – Siriss
Der bessere Weg wäre das Unterklassen 'UITableViewCell' und das Überschreiben der' drawRect: 'Methode mit dem Code in meiner verknüpften Frage. EDIT: Der Code, wie Sie in der Antwort mit mehr Upvotes sehen können. –
Ich denke, dass Sie zumindest die "einfachere" Methode ausprobieren sollten, bevor Sie mit der Optimierung der Lösung fortfahren - Sie könnten feststellen, dass sie schnell genug ist. –