【发布时间】:2015-11-04 12:11:56
【问题描述】:
我正在使用导航栏,我正在使用代码将默认后退按钮更改为我在 viewDidLoad 中的按钮:
_backButton =[[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:self action:@selector(backButtonPressed)];
[_backButton setTintColor:[UIColor whiteColor]];
[_backButton setImage:[UIImage imageNamed:@"Back-icon.png"]];
self.navigationItem.leftBarButtonItem = _backButton;
我有一个 UIButton 用于分享,当我点击它时,这段代码正在运行:
UIActivityViewController *activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:@[@"test"]
applicationActivities:nil];
[self presentViewController:activityViewController
animated:YES
completion:^{
}];
现在,当我进入页面时,它看起来不错,但是当我点击分享按钮时,UIActivityViewController 出现了,导航中的后退按钮跳到底部 50 像素 - 就像在这张图片中
当我使用默认的后退按钮时,它不是附加的。
我尝试将 UIActivityViewController 打开的动画更改为 NO,但没有帮助。
可能是什么问题?
谢谢
【问题讨论】:
-
您正在展示视图控制器。那是为了模态视图。如果您需要导航栏自动设置正确,请使用 push 导航堆栈。
-
我想以模态方式打开它,它需要按原样打开 UIActivityViewController。它打开它正确
-
当你展示视图控制器时,它不使用任何导航控制器,所以它没有导航栏。您需要通过storyboard或xib自行添加导航栏。如果您使用自动布局,则需要将其添加为视图的子视图并设置框架和约束。如果你想呈现带有导航功能的模态,你需要呈现包含你的 ActivityViewController 的模态导航控制器。
-
嗨@Flipper,我不明白你在说什么,我正在用它来呈现UIActivityViewController,就像这篇文章codingexplorer.com/…
标签: ios objective-c uinavigationbar uiactivityviewcontroller