改变Modal UIActivityViewController的外观

Ber*_*rnd 2 objective-c modalviewcontroller ios uiappearance uiactivityviewcontroller

如何更改UIActivityViewController模态共享操作中使用的邮件撰写对象的导航栏的外观?

UINavigationBar  - 错误的色调

UIActivityViewController符合UIAppearance,所以我认为以下工作确实有效,但事实并非如此.导航栏保持默认蓝色.

activityVC.navigationController.navigationBar.tintColor = [UIColor greyColor];
Run Code Online (Sandbox Code Playgroud)

语境:

    - (IBAction)share {
        NSString *textToShare = ...;
        NSURL *url = ...;

        NSArray *activityItems = [[NSArray alloc]  initWithObjects:textToShare,url,nil];

        UIActivity *activity = [[UIActivity alloc] init];
        NSArray *applicationActivities = [[NSArray alloc] initWithObjects:activity, nil];
        UIActivityViewController *activityVC =
        [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
        [activityVC setExcludedActivityTypes:[NSArray arrayWithObjects:                                              UIActivityTypeMessage,UIActivityTypeCopyToPasteboard,
UIActivityTypeAssignToContact,UIActivityTypePostToWeibo,                                              UIActivityTypePrint,UIActivityTypeSaveToCameraRoll,
                                              nil]];

        activityVC.navigationController.navigationBar.tintColor = [UIColor greyColor];

        [self presentViewController:activityVC animated:YES completion:nil];
    }
Run Code Online (Sandbox Code Playgroud)

如何将UINavigationBar蓝色的色调更改为灰色.

小智 5

在Application Delegate中执行此操作,它将在显示导航栏的整个应用程序中更改导航栏的颜色

[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:.9 green:.9 blue:.9 alpha:1]];
Run Code Online (Sandbox Code Playgroud)

您还可以在Application Delegate中使用此更改文本颜色和字体

NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                           [UIColor redColor],UITextAttributeTextColor,
                                           [UIFont fontWithName:@"Arial" size:19],UITextAttributeFont,
                                           nil];
[[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];
Run Code Online (Sandbox Code Playgroud)