Ich arbeite an einer iPhone-Anwendung, die in beiden Ausrichtungen funktioniert: Hoch- und Querformat.
Ich verwende für einen View und Tableview eingebettet in einen UINavigationController. Die Höhe dieser Navigationsleiste mit ihren Schaltflächen ist entweder: 44px hoch oder 34px quer.
In einer anderen Ansicht habe ich die UINavigationBar selbst erstellt und ich kann den Rahmen auf die richtige Größe einstellen, aber das eingebettete UINavigationItem mit UIBarButtonItem wird nicht verkleinert. Also für die 34 px im Landscape Modus ist dieser Button zu groß und überlappt die Navbar in der Höhe.
Das Komische ist jedoch, dass dies mit identischem Code in anderen Anwendungen funktionierte... ich habe keine Ahnung, was hier nicht der Fall ist.
Gibt es eine Möglichkeit, die Höhe / Position eines UIBarButtonItem anzupassen?
Hier ist das Codeschnipsel:
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
Gracias
Tom