导航栏上有很多帖子,但我需要调整它的大小。
在我的应用程序中意味着每个视图都会变大。但是我想在所有视图中保持它的尺寸更小。
我如何调整大小并尽可能放置图像。
答案 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;