ios - 我希望将导航栏中的栏按钮项放置在导航栏的最角落

标签 ios objective-c xcode uibarbuttonitem uitabbar

当我尝试以下代码时,条形按钮与边缘之间的间距约为30px,

但我希望它离边缘仅2个像素。有办法吗?

我只需要栏按钮,而不是自定义UIButton。

UIImage* buttonImage = [UIImage imageNamedH568: @"publish_button.png"];

UIButton * clearButton = [UIButton buttonWithType: UIButtonTypeCustom];

clearButton.frame           = CGRectMake(244.0f, 5.0f, 65.0f, 33.0f);
clearButton.titleLabel.font = [Utils helveticaBoldFontOfSize: 12.0f];

[clearButton setBackgroundImage: buttonImage                        forState: UIControlStateNormal];
[clearButton setTitle:           NSLocalizedString(@"Clear", nil) forState: UIControlStateNormal];
[clearButton setTitleColor:      [UIColor whiteColor]               forState: UIControlStateNormal];

[clearButton addTarget: self action: @selector(clearNotificationsList:) forControlEvents: UIControlEventTouchUpInside];

UIBarButtonItem* clearItem = [[UIBarButtonItem alloc] initWithCustomView: clearButton];

self.navigationItem.rightBarButtonItem = clearItem;

最佳答案

UINavigationItem-iOS7Spacing添加了以下两个功能

 - (UIBarButtonItem *)spacer
{
    UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
    space.width = -11;
    return space;
}

- (BOOL)isIOS7
{
    return ([[[UIDevice currentDevice] systemVersion] compare:@"7" options:NSNumericSearch] != NSOrderedAscending);
}

然后在loadView内部使用以下代码-
 UIBarButtonItem* clearItem = [[UIBarButtonItem alloc] initWithCustomView: clearButton];

    if ([self isIOS7]) {
        self.navigationItem.rightBarButtonItems = @[[self spacer],clearItem];
    }
    else
    {
        self.navigationItem.rightBarButtonItem = clearItem;
    }

完美地工作

谢谢大家的帮助!

关于ios - 我希望将导航栏中的栏按钮项放置在导航栏的最角落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20917586/

相关文章:

ios - 如何更改 UIPageViewController 中页面指示器的背景颜色

ios - 无法在 iOS 开发人员中心创建分发配置文件

c# - 如何从 MonoTouch 应用程序中的单独程序集中加载文件?

ios - UITextView becomeFirstResponder 使用 iOS SDK 8.2 失败

iphone - NSMutable 字符串 "Out of scope"

ios - iOS 云后端事件监听通论

javascript - 如何在 macOS 上调用 "Installation alert"窗口

ios - 如何更改使用不同类的界面生成器设置的 UI 元素?

ios - 如何将一个NSArray数据添加到另一个NSArray字段?

ios - Interface Builder 无法打开文档 ".storyboard",因为它不存在