gpt4 book ai didi

ios - UIDocumentInteractionController 不考虑导航栏色调颜色

转载 作者:行者123 更新时间:2023-11-29 12:36:40 24 4
gpt4 key购买 nike

我的应用程序中的一个屏幕显示了本地镜像的预览,我在左上角有一个操作按钮,我用它来显示文档交互选项:

- (IBAction)actionButtonTapped:(id)sender {
self.interactionController = [UIDocumentInteractionController interactionControllerWithURL:self.attachmentLocalUrl];
self.interactionController.delegate = self;
[self.interactionController presentOptionsMenuFromRect:self.view.frame inView:self.view animated:YES];
}

这很有效,因为它显示了一个带有选项列表的操作表,包括通过电子邮件发送附件的电子邮件。当我单击电子邮件按钮时,它会显示带有我的图像的电子邮件消息的预览。但有一件事行不通。我已经自定义了我的应用程序的外观,以便导航栏在整个应用程序中具有相同的颜色。这是我首先在应用委托(delegate)的 didFinishLaunchingWithOptions 中运行的代码:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[UINavigationBar appearance].barTintColor = [UIColor blueColor];
[UINavigationBar appearance].tintColor = [UIColor whiteColor];
[UINavigationBar appearance].titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};

这适用于我自己的 View Controller ,但是 UIDocumentInteractionController 显示的电子邮件预览 View Controller 的条形按钮项目是蓝色的而不是白色的。由于正确应用了其他参数,尤其是导航栏的蓝色背景,取消和发送操作按钮几乎不可见。

我曾尝试在一个简单的项目中复制它,但我做不到。所以很明显我在我的应用程序中做了一些事情来干扰正常的定制。但我不知道是什么。知道我该如何调试吗?

最佳答案

你能明确说明你的意思吗?导航栏上的颜色是否在 documentpicker 或 mfmailcomposer 上搞砸了?这是我不得不使用的一些代码......

如果它在 UIDocumentPicker 上,请在调用 present 之前设置它:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
[[UIBarButtonItem appearance] setTintColor:[UIColor blackColor]];
[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
}

然后将它改回您在 didPickDocument 和 didCancel Delegates 中的颜色

如果它在 MFMailcomposer Controller 上,那么使用这个:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
{
[controller.navigationBar setTintColor:[UIColor blackColor]];
}

希望对你有帮助

关于ios - UIDocumentInteractionController 不考虑导航栏色调颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26144059/

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