【发布时间】:2014-10-09 19:01:47
【问题描述】:
我正在尝试在我的 viewWillAppear 方法中使用此代码来使用自定义 rightBarButtonItem 图像:
// Custom rightBarButtonItem
UIImage *buttonImage = [UIImage imageNamed:@"menu_button"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);
[button addTarget:self action: @selector(handleBackButton)
forControlEvents:UIControlEventTouchUpInside];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, buttonImage.size.width - 10, buttonImage.size.height - 10)];
[view addSubview:button];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:view];
self.navigationItem.rightBarButtonItem = customBarItem;
结果是这样的:
但我希望它更小,就像我在 Sketch 3 中设计的那样:
我需要做些什么来实现这一目标?
谢谢! 埃里克
【问题讨论】:
-
您似乎只提供了一个视网膜资源,并且在非视网膜设备上运行。
-
@lan MacDonald 我在我真正的 iPhone 5s 上运行它,它有一个视网膜显示屏,不是吗?
-
是的,iPhone 5s 有视网膜显示屏。我只是在评论它看起来的样子。我不是 100% 确定这里发生了什么导致您的图像显示不正确。
标签: ios objective-c uinavigationcontroller uinavigationbar uibarbuttonitem