2010-02-17 16 views
17

Ich möchte den Schriftartentyp und die Schriftgröße in UITableView ändern. Zum Beispiel, wie würde ich es auf Tahoma setzen?Ist es möglich, Schriftart und -größe in UITableView zu ändern?

+0

Ihre Frage ist eine Berührung generisch. Es wäre nützlich zu wissen, welche Art von Effekt Sie erreichen möchten. Die folgende Antwort zeigt, wie die Schriftart einer UITableViewCell geändert wird. Sie können auch Ihre eigene, völlig neue UIView-Unterklasse definieren, die in der Zelle angezeigt wird. – Kevin

Antwort

34
cell.textLabel.font = [UIFont fontWithName:@"ArialMT" size:144]; 

wo cell ist ein UITableViewCell Sie in -tableView:cellForRowAtIndexPath: zurückkehren würde.

Tahoma is not shipped with iOS by default, noch können Sie es legal ohne eine ordnungsgemäße Lizenz kopieren. Sie können jedoch eine benutzerdefinierte Schriftart bereitstellen, wenn Sie Arial nicht mögen, siehe How to include and use new fonts in iPhone SDK?.

+0

*** Assertionsfehler in - [UILabel setFont:], /SourceCache/UIKit/UIKit-963.10/UILabel.m:445 – RAGOpoR

+0

@RAGOpoR: Weil Tahoma existiert nicht auf dem iPhoneOS. – kennytm

+0

Woher wusste ich, welche Schriftart dafür verfügbar ist? – RAGOpoR

7

-KennyTM's Antwort hinzu:

Sie - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath Delegatmethode von UITableView verwenden können Ihre UITableViewCell wie folgt zu konfigurieren:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    cell.textLabel.textColor=[UIColor whiteColor]; 
    cell.detailTextLabel.font=[UIFont fontWithName:@"Helvetica" size:16.0]; 
    cell.detailTextLabel.textColor=[UIColor whiteColor]; 
} 

Apple-Dokument liest:

A Die Tabellenansicht sendet diese Nachricht an ihren Delegaten, bevor sie c verwendet ell, um eine Zeile zu zeichnen, damit der Delegierte das Zellobjekt anpassen kann, bevor es angezeigt wird. Diese Methode gibt dem Stellvertreter eine Chance, statusbasierte Eigenschaften zu überschreiben, die zuvor in der Tabelle festgelegt wurden, z. B. Auswahl und Hintergrundfarbe. Nachdem der Delegat zurückgegeben wurde, werden in der Tabellenansicht nur die Eigenschaften alpha- und frame und nur dann festgelegt, wenn Zeilen beim Ein- oder Auslagern animiert werden.

Verwandte Themen