gpt4 book ai didi

ios - iOS 7 的 UIToolbar 中 UIBarButtonItems 的垂直位置不正确

转载 作者:可可西里 更新时间:2023-11-01 03:27:44 27 4
gpt4 key购买 nike

我有一段适用于 iOS 7 以下的 iOS 的 iPad 应用程序代码

UIToolbar* tools = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 75, 44)];

NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2];

UIBarButtonItem *composeButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(toggleDelete:)];

[buttons addObject:composeButton];

UIBarButtonItem *fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];

fixedSpace.width = 5;

[buttons addObject:fixedSpace];

UIBarButtonItem* bi = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(touchMe:)];

[buttons addObject:bi];

[tools setItems:buttons animated:NO];

tools.barStyle = -1;

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:tools];

[bi release];
[fixedSpace release];
[composeButton release];
[buttons release];
[tools release];

这个 iOS 7 之前的结果是:

enter image description here

在 iOS 7 上运行相同的代码会产生以下结果:

enter image description here

由于某些原因,按钮在 iOS 7 中移到了工具栏的底部。

现在,我可以使用 UIBarItem imageInset 属性重新定位它们,但这似乎有点老套,因为那时我需要检查 iOS 版本,并且只有在 iPad 运行 iOS 7+ 时才执行 imageInset。我的问题是我是否遗漏了与 UIToolbar 有关的特定于 iOS 7 的任何内容?我查看了 iOS 7 UI Transition Guide,但找不到任何针对此问题的具体内容。

最佳答案

由于我没有得到任何其他答案,也没有找到适合我的解决方法,所以我将为遇到相同问题的其他人回答这个问题。如果您的目标是 iOS 5.0 及以上版本,有一个方便的方法可以将多个项目添加到右侧栏按钮。这是修复:

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:deleteButton, bi, nil]];

关于ios - iOS 7 的 UIToolbar 中 UIBarButtonItems 的垂直位置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19372893/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com