gpt4 book ai didi

iphone - 如何调整 rightBarButtonItems 中两个 UIBarButtonItem 之间的间距

转载 作者:行者123 更新时间:2023-12-03 18:14:43 26 4
gpt4 key购买 nike

我使用以下代码向 self.navigationItem.rightBarButtonItems 添加两个按钮,我认为在 iOS7 中,两个按钮之间的空间太宽,有没有办法减少这两个按钮之间的空间?

UIBarButtonItem *saveStyleButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"save.png"] style:UIBarButtonItemStyleBordered target:self action:@selector(saveStyle)];

UIBarButtonItem *shareStyleButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareStyle)];

NSArray *arr= [[NSArray alloc] initWithObjects:shareStyleButton,saveStyleButton,nil];

self.navigationItem.rightBarButtonItems=arr;

感谢任何提示或想法。

最佳答案

更新于 2015 年 7 月

更好的方法是使用 Storyboard(在 Xcode 6.4 中测试)。首先,添加一个UINavigationItem;其次,添加一个Bar Button Item;第三,向您刚刚在步骤 2 中创建的 Bar Button Item 添加一个 View ;第四,将任意数量的按钮添加到刚刚拖入的 View 中;最后,用鼠标和约束调整空间。

相关问题

Can't assign multiple Buttons to UINavigationItem when using Storyboard with iOS 5

How to add buttons to navigation controller visible after segueing?

<小时/>

旧答案(仅适用于小插图)

使用 imageInsets 属性:

leftButton.imageInsets = UIEdgeInsetsMake(0.0, 0.0, 0, -15);
rightButton.imageInsets = UIEdgeInsetsMake(0.0, -15, 0, 0);

对于三个或更多按钮,中间的按钮会同时插入:

leftButton.imageInsets = UIEdgeInsetsMake(0.0, 0.0, 0, -15);
middleButton.imageInsets = UIEdgeInsetsMake(0.0, -15, 0, -15);
rightButton.imageInsets = UIEdgeInsetsMake(0.0, -15, 0, 0);

对于右侧按钮,请注意:项目数组中的第一个按钮是右侧按钮:

rightButton.imageInsets = UIEdgeInsetsMake(0.0, -15, 0, 0);
middleButton.imageInsets = UIEdgeInsetsMake(0.0, -15, 0, -15);
leftButton.imageInsets = UIEdgeInsetsMake(0.0, 0.0, 0, -15);

重要提示:在两个邻居之间分割插图;如果将整个插图应用到一侧,很明显按钮会在“空白”空间中重叠 - 一个按钮会获得所有“间隙”触摸。即使像这样“分割”调整,在两侧边缘为 -40,点击有时肯定会转到错误的按钮。 -15 或 -20 是最值得考虑使用此技术的方法。

通过应用此方法,按钮甚至可以在四个方向上移动。

关于iphone - 如何调整 rightBarButtonItems 中两个 UIBarButtonItem 之间的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22741824/

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