如何调整导航栏按钮的大小

时间:2011-08-01 21:22:13

标签: ios4

导航栏上有很多帖子,但我需要调整它的大小。

在我的应用程序中意味着每个视图都会变大。但是我想在所有视图中保持它的尺寸更小。

我如何调整大小并尽可能放置图像。

1 个答案:

答案 0 :(得分:1)

要调整导航栏按钮的大小 - 或以任何方式对其进行自定义 - 您需要创建一个自定义UIBarButtonItem以添加到导航栏。

以下代码段将创建一个自定义UIBarButtonItem,其中包含一个自定义按钮,其中包含正常和突出显示的图像,其大小与图像大小相同:

UIButton *customButton = nil;
UIImage  *buttonImage = nil;
UIImage  *pressedButtonImage = nil;

buttonImage = [UIImage imageNamed:@"button_image"];
pressedButtonImage = [UIImage imageNamed:@"button_pressed_image"];
customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[customButton setImage : buttonImage forState : UIControlStateNormal];
[customButton setImage : pressedButtonImage forState : UIControlStateHighlighted];
[customButton addTarget : self action : @selector(buttonTapped) forControlEvents : UIControlEventTouchUpInside];
customButton.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);

UIView *container = [[UIView alloc] initWithFrame:(CGRect){0.0, 0.0, buttonImage.size.width, buttonImage.size.height}];
container.backgroundColor = [UIColor clearColor];
[container addSubview:customButton];

UIBarButtonItem *customToolbarButton = [[UIBarButtonItem alloc] initWithCustomView:container];

// add the custom button to the toolbar
self.navigationBar.topItem.rightBarButtonItem = self.addButtonItem;