ios - 关闭模态视图 Controller 后如何正确对齐 rightBarButtonItem?

标签 ios cocoa-touch ios7 uinavigationbar uibarbuttonitem

从 iOS 7 开始,UINavigationBar 中的 rightBarButtonItem 在关闭模态视图 Controller 后会向下移动。顶部屏幕截图显示了正确的对齐方式。底部屏幕截图显示关闭模态视图 Controller 后的错误对齐。

enter image description here

- (void) viewDidLoad
{
    [super viewDidLoad];

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
        initWithTitle:@"" 
        style:UIBarButtonItemStyleDone 
        target:self
        action:@selector(didPressRightBarButtonItem)
    ];
    [self.navigationItem.rightBarButtonItem 
        setImage:[UIImage imageNamed:@"shareLightFlat"]
    ];
}

- (void) didPressRightBarButtonItem
{
    [self.navigationController 
        presentViewController:[[SomePage alloc] init] 
        animated:YES 
        completion:nil];
}

在 SomePage 中,我用它来解雇自己:

[self dismissViewControllerAnimated:YES completion:nil];

最佳答案

你不需要使用initWithTitle: @ ""

试试这个:

UIBarButtonItem *editBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"myImage"] style:UIBarButtonItemStyleDone target:self action:@selector(myAction:)];

self.navigationItem.rightBarButtonItems = @[editBarButton];

关于ios - 关闭模态视图 Controller 后如何正确对齐 rightBarButtonItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20013266/

相关文章:

ios - 我仍然可以发布没有 iPhone 6 启动图像的 iOS 应用程序(仅在缩放模式下运行的应用程序)吗?

objective-c - Core Data 对相关对象的 NSSet 进行排序时出现问题

ios - 如果 ScrollView 下方有 View ,则调整 ScrollView 缩进不起作用

ios - 阻止 CallState 未调用 iOS 7

objective-c - 使用不规则形状按钮的简单方法

objective-c - 支持 iOS 4.2 及更高版本

ios - Swiftui 似乎无法与 Cocoapods 和 Firebase 一起正常工作

objective-c - 如何保持强引用?

ios - 当我向专用于加载更多结果功能的 UITableViewController 添加额外的行时,我的 iOS7 应用程序崩溃

iOS 7 保留了 iOS 6 的用户界面