iOS:UIBarButton正确尺寸

时间:2018-01-24 15:31:38

标签: ios uitoolbar uitoolbaritem

在我在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

但这看起来在iPad Pro(11.0),Like This.

上打扰了

按钮的大小是多少?

3 个答案:

答案 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的大小(以便项目的大小"从内到外")。你不这样做;你的按钮有一个框架,但这不是正确的尺寸方式。给出按钮高度和宽度约束,以便运行时知道如何调整条形按钮项的大小。