在我在UIToolbar上的iOS应用程序中,我添加了带有图像的“完成”自定义按钮。
UIBarButtonItem *btnNextDoneDisable;
UIToolbar *navigateQuestionBar;
//*to add button
UIImage *img_done = [UIImage imageNamed:DONE_RED_BTN_PNG(appDelegate.isIphone)];
btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:img_done forState:UIControlStateNormal];
btn.frame = CGRectMake(0.0, 0.0, img_done.size.width, img_done.size.height);
[btn addTarget:self action:@selector(doneClicked) forControlEvents:UIControlEventTouchUpInside];
btnNextDoneDisable = [[UIBarButtonItem alloc] initWithCustomView:btn];
[arrButtons addObject:btnNextDoneDisable];
navigateQuestionBar.items = arrButtons;
完成按钮图像尺寸为:
80 × 30
156 × 57
上打扰了
按钮的大小是多少?
答案 0 :(得分:0)
根据人机界面指南,导航栏和工具栏图标的大小应该是:
+-------------------------------+-------------------------------+
| Target sizes | Maximum sizes |
+-------------------------------+-------------------------------+
| 72px × 72px (24pt × 24pt @3x) | 84px × 84px (28pt × 28pt @3x) |
| 48px × 48px (24pt × 24pt @2x) | 56px × 56px (28pt × 28pt @2x) |
+-------------------------------+-------------------------------+
以下是对Apple指南的引用:https://symfony.com/doc/current/service_container.html#services-manually-wire-args
答案 1 :(得分:0)
UIBarButtonItems具有固定大小并忽略任何其他大小。
此外,添加到UINavigationBar或UIToolbar的项目由apple放置。
=>你不能设置你的UIBarButtonItem的帧大小或帧起源
答案 2 :(得分:0)
问题在于,在iOS 11中,您必须使用约束来设置UIBarButtonItem customView
的大小(以便项目的大小"从内到外")。你不这样做;你的按钮有一个框架,但这不是正确的尺寸方式。给出按钮高度和宽度约束,以便运行时知道如何调整条形按钮项的大小。