3

我在展示 UIActivityViewController 时遇到了一个奇怪的问题。

当我从应用程序的根视图显示 UIActivityViewController 时,按钮标题是正确的颜色。

现在,但是如果我从详细视图控制器导航回根视图控制器并呈现上面列出的 UIActivityViewController,则呈现的控制器由于某种原因继承了呈现控制器的按钮标题颜色。我尝试将条形样式强制为默认值,但这也不起作用。设置 UIActivityViewController 的按钮外观不像 MFMailComposeViewController 那样工作。

非常感谢您提供的任何帮助!截图:

在此处输入图像描述 在此处输入图像描述

我用来设置 detailviewcontroller 按钮颜色的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.navigationController.navigationBar.topItem.title = @"Back";

    UIButton *Button2 = [UIButton buttonWithType:UIButtonTypeCustom];
    [Button2 addTarget:self action:@selector(heh) forControlEvents:UIControlEventTouchUpInside];
    [Button2 setImage:[UIImage imageNamed:@"button.png"] forState:UIControlStateNormal];
    [Button2 setImage:[UIImage imageNamed:@"buttonPressed.png"] forState:UIControlStateHighlighted];
    Button2.frame = CGRectMake(0.0, 0.0, 44, 44);

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:Button2];
}
4

1 回答 1

1

我解决了这个问题,我不得不在关闭 UIActivityViewController 后手动更改我的详细视图控制器的栏按钮项目标题颜色。

[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIViewController class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], UITextAttributeTextColor, [UIColor clearColor], UITextAttributeTextShadowColor, CGSizeMake(0, 0), UITextAttributeTextShadowOffset, [UIFont fontWithName:@"HelveticaNeue-Light" size:16], UITextAttributeFont, nil]
                                                                                        forState:UIControlStateNormal];
于 2013-06-27T21:09:03.480 回答