Subsklassing UINavigationBar ... wie benutze ich es in UINavigationController?

8

Ich wollte UINavigationBar von der Unterklasse ableiten (um ein benutzerdefiniertes Hintergrundbild und eine Textfarbe festzulegen) und diese für alle Navigationsleisten in meiner App verwenden. Wenn Sie sich die API-Dokumentation für UINavigationController ansehen, sieht es so aus, als wäre navigationBar schreibgeschützt:

  

@property (nichtatomare, schreibgeschützte) UINavigationBar * navigationBar

Gibt es eine Möglichkeit, eine benutzerdefinierte UINavigationBar in meinen UIViewControllern zu verwenden? Ich weiß, dass andere Apps benutzerdefinierte Navigationsleisten wie flickr gemacht haben:

  

Ссылка

Hier ist meine UINavigationBar-Unterklasse:

%Vor%

die Implementierung

%Vor%

Ich weiß, dass ich eine Kategorie verwenden kann, um das Hintergrundbild zu ändern, aber ich möchte immer noch die Textfarbe des Titels der Navigationsleiste festlegen können

%Vor%

irgendwelche Vorschläge oder andere Lösungen? Ich möchte im Grunde einen hellen Hintergrund und dunklen Text wie Flickr App Navigationsleisten

erstellen     
funkadelic 20.05.2010, 23:42
quelle

3 Antworten

4

Ich weiß nicht, ob Sie das herausgefunden haben. Aber für andere, die dieses Problem haben könnten ...

Was Sie tun müssen, ist die Klasse in Ihrem XIB zu Ihrem Klassennamen anzugeben (in diesem Fall MyNavigationBar.

Überprüfen Sie die Sitzung 123 in der WWDC 2011.

    
Thiago Peres 23.09.2011 20:24
quelle
2

Setzen Sie die UINavigationBar "Farbton" -Eigenschaft auf die gewünschte Farbe.

    
gnasher 21.05.2010 09:32
quelle
2

Versuchen Sie, ein [UIColor colorWithPatternImage:(UIImage*)image] zu erstellen und es auf die backgroundColor-Eigenschaft der NavBar zu setzen. Ich habe das noch nicht ausprobiert, aber ich werde es jetzt tun.

    
Romeo 21.05.2010 23:32
quelle