0

我在 ipad 中创建了一个高度为 80 的自定义导航栏。在这种情况下,晒按钮框架出现问题。

导航栏的高度增加了,但后退按钮的高度与以前相同,高度 os 导航栏为 44。这里导航栏高度增加到 80,因此我也想更改后退按钮的框架。

我知道我们可以添加一个自定义后退按钮,但我不想为 15 个视图创建 15 个图像以及每个屏幕的名称。我想更改默认后退按钮的框架。

这是我自定义导航栏的代码

#import "UINavigationBar+navbar.h"

@implementation UINavigationBar (navbar)

- (CGSize)sizeThatFits:(CGSize)size {
     if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
         CGSize newSize = CGSizeMake(self.frame.size.width,44);
         return newSize;
     }
     else{
         CGSize newSize = CGSizeMake(self.frame.size.width,80);
         return newSize;
     }
}
4

2 回答 2

0

创建一个带有 UIImageView 的 BarButtonItem,您可以更改自定义 UIImageView 的框架。

   UIImageView* imageView = [[[UIImageView alloc] initWithFrame:navigationController.navigationBar.frame] autorelease];
imageView.contentMode = UIViewContentModeLeft;
imageView.image = [UIImage imageNamed:@"NavBar-iPhone.png"];
[navigationController.navigationBar insertSubview:imageView atIndex:0];
于 2013-10-31T08:20:48.813 回答
0

不!!!您不能更改frame条形按钮项目。虽然UIBarButtonItem类似于 UIButton 但继承自和UIBarItem不继承自. 如果您想指定尺寸而不是您可以自定义或简单地使用而不是.UIBarItemNSObjectUIControlsUIBarButtonItemUIButtonUIBarButtonItem

于 2013-10-31T07:20:04.307 回答