iPhone:带按钮的UINavigationBar - 调整高度

cra*_*mmy 7 iphone height uinavigationbar uibarbuttonitem uinavigationitem

我正在开发一个iPhone应用程序,它可以在两个方向上工作:纵向和横向.

我用于嵌入在UINavigationController中的一个视图和tableview.此导航栏及其按钮的高度为:44px纵向或34px横向.

在不同的视图中,我自己创建了UINavigationBar,并且我能够设置正确大小的帧,但是带有UIBarButtonItem的嵌入式UINavigationItem不会缩小.因此,对于横向模式中的34 px,此按钮将变大并且在高度上重叠导航栏.

有趣的是,这在其他应用程序中使用相同的代码...不知道它不在这里.

无论如何都要调整UIBarButtonItem的高度/位置?

这是代码片段:

    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];   
Run Code Online (Sandbox Code Playgroud)

alt text http://labs.kiesl.eu/images/navbar.png

谢谢

汤姆

cra*_*mmy 7

我想通了:导航栏的高度必须是32像素!使用33或34像素时,对齐螺钉向上.


Six*_*tto 0

创建备用图像,并在处理旋转动画的视图控制器方法中,更改栏按钮项目中的图像。或者您可以UIImageView在项目中使用 a 作为自定义视图,并设置其内容模式以缩小图像。