xcode - 如何删除 UIBarButtonItem 旁边的填充

标签 xcode uinavigationbar uibarbuttonitem

我在导航栏的自定义右侧栏按钮项中添加了一个自定义按钮,如图所示。

我希望能够删除按钮后的空间,使其接触屏幕的右边缘,但即使在搜索后也找不到解决方案。如果有人能提到如何,那就太好了。

这是我正在使用的代码

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];    
aButton.frame = CGRectMake(50.0, 0.0, 60, 44);
UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aButton];
[aButton addTarget:self action:@selector(testButtonControl:) forControlEvents:UIControlEventTouchUpInside];

self.navigationItem.rightBarButtonItem = aBarButtonItem;

enter image description here

最佳答案

你可以添加一个负宽度的固定空间元素(我知道,这听起来像一个黑客,但它有效):

UIButton *aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];    
aButton.frame = CGRectMake(50.0, 0.0, 60, 44);
UIBarButtonItem *aBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:aButton];
[aButton addTarget:self action:@selector(testButtonControl:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *spaceFix = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:NULL];
spaceFix.width = -5;

self.navigationItem.rightBarButtonItems = @[spaceFix, aBarButtonItem];

关于xcode - 如何删除 UIBarButtonItem 旁边的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11814983/

相关文章:

iPhone:带按钮的 UINavigationBar - 调整高度

ios - RightBarButtonItem 未出现在导航栏中

ios - UIBarButtonItem 改变播放/暂停按钮的图像

ios - XCode 8 CoreData 自动生成基类

ios - 切换选项卡时退出 View

ios - UIBarButtonItem 的背景阴影

ios - UISplitView 的 MasterViewController 和导航问题

ios - 从 UINavigationItem 后退按钮中删除 "<"

swift - 存储的时间戳与当前日期之间的差异

swift - 是否可以将 MacOS 应用程序从 Xcode 项目添加到 Launchpad?