2009-02-26 4 views
1

Ich habe eine einfache UITableView in meiner iPhoneApp. Ich möchte die Schriftgröße des Header-Textes ändern. Ich verstehe, dass dies nicht möglich ist und dass ich meinen benutzerdefinierten Header mit meinem eigenen Label erstellen muss.Wie kann ich die Standard-Header für eine einfache UITableView reproduzieren

Ich frage mich nur, ob jemand weiß, wie ich eine Kopfzeile ähnlich der Standard reproduzieren kann (mit dem gleichen Hintergrundbild, etc ...)? Ich kann nicht das Hintergrundbild überall finden ..

Mit freundlichen Grüßen, Jonathan

Antwort

1

Sie suchen [UIColor groupTableViewBackgroundColor]:

[view setBackgroundColor:[UIColor groupTableViewBackgroundColor]]; 
+0

Sorry, ich denke ich habe mich falsch erklärt. Ich meinte den Abschnitt Header (blauer Hintergrund) im normalen Modus für die UITableView. Es scheint, es ist ein Bild und nicht die Farbe. Ich bin nicht wirklich gut mit Grafiken, also fragte ich mich, ob ich das Bild irgendwo finden könnte, um es wiederzuverwenden ... Grüße, Jonathan –

+0

Hmm, ich weiß nicht, ob Sie dieses Bild erhalten können, aber selbst wenn Sie könnten es wäre wahrscheinlich eine feste Größe, also würdest du es nicht benutzen wollen. –

0

Es wird nicht wirklich hoch strecken, weil es schlecht aussehen , aber das kann dich aus der Not geraten, erstelle ein dehnbares Bild, das eine Grafik des originalen Headers benutzt (jedes iPhone Template png/psd hat diese leicht extrahierbar).

Dann

UIImage *image = [UIImage imageNamed:@"tableHeader.png"]; 
UIImage *stretchImage = [image stretchableImageWithLeftCapWidth:5.0 topCapHeight:2.0]; 
UIImageView *backgroundImage = [[UIImageView alloc] initWithFrame:frame]; 
[backgroundImage setImage:stretchImage]; 

und entweder zurückgeben, dass im Rahmen des UIView konstruieren Sie in Ihrem:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ 

Methode oder (besser noch) fügen Sie es als Hintergrund für was auch immer UIView Unterklasse Instanz, die Sie kommen mit dieser Methode zurück.

Klar, jede Breite funktioniert, ich habe festgestellt, dass ich es bis zu 55 Pixel hoch bekommen kann, ohne Naff zu suchen. Beste Antwort ist, den Gradienten zu replizieren. Ich bin zu nooby dafür :)

Verwandte Themen