Ich arbeite an einer iPhone-Anwendung, die in beiden Orientierungen funktioniert: Hochformat und Querformat.iPhone: UINavigationBar mit Tasten - die Höhe anpassen
Ich verwende für eine Ansicht und Tabellenansicht in einem UINavigationController eingebettet. Die Höhe dieser Navigationsleiste mit ihren Schaltflächen ist entweder: 44px Hochformat oder 34px Querformat.
Innerhalb einer anderen Ansicht habe ich die UINavigationBar von mir selbst erstellt und ich kann den Rahmen für die richtige Größe festlegen, aber das eingebettete UINavigationItem mit UIBarButtonItem wird nicht verkleinert. Für die 34 px im Querformat-Modus ist diese Schaltfläche also zu groß und überlappt die Navigationsleiste in der Höhe.
Das lustige ist aber, dass das mit identischem Code in anderen Apps funktioniert ... habe keine Ahnung was es hier nicht gibt.
Gibt es trotzdem die Höhe/Position eines UIBarButtonItem anzupassen? Hier
ist der Code-Schnipsel:
navBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 320.0f, 34.0f)];
[navBar setBarStyle: UIBarStyleBlackOpaque];
[self addSubview: navBar];
barButton = [[UIBarButtonItem alloc] initWithTitle: NSLocalizedString(@"flip", @"flip") style:UIBarButtonItemStylePlain target:self action:@selector(flip)];
item = [[UINavigationItem alloc] initWithTitle: NSLocalizedString(@"Translation", @"Translation Tab Bar Title")];
[item setRightBarButtonItem: barButton];
[navBar pushNavigationItem:item animated:NO];
alt text http://labs.kiesl.eu/images/navbar.png
Dank
Tom
Sehr hilfreich, danke. 32px war der Schlüssel. Ich benutzte 34px und es hat nicht funktioniert. – lambmj