完成按钮文本UIDocumentInteractionController的颜色

时间:2015-03-17 10:26:53

标签: objective-c pdf

我可以在UIDocumentInteractionController中更改Done按钮的文本颜色吗?目前有一个白色完成按钮,没有正确的外观

1 个答案:

答案 0 :(得分:1)

您是否为应用窗口设置了tintColor?这将改变一些系统生成的按钮的颜色,例如iPhone上UIDocumentInteractionController中的Cancel按钮。我找不到覆盖它的方法,所以我在显示文档交互控制器之前暂时更改应用色调颜色,然后将其更改回来:

- (IBAction)openIn:(NSURL *)URL {
    UIDocumentInteractionController *controller = [[UIDocumentInteractionController interactionControllerWithURL:URL] retain];
    controller.delegate = self;
    self.appDelegate.window.tintColor = [UIColor blackColor]; // temporary override
    [controller presentOpenInMenuFromBarButtonItem:self.openInButton animated:TRUE];
}

- (void)documentInteractionControllerDidDismissOpenInMenu:controller {
    [controller release];
    self.appDelegate.window.tintColor = self.appDelegate.textColor; // restore the tintColor
}

我打算为此提交错误报告,因为我的应用程序有一个带有白色文本的深色主题,并且在许多系统提供的UI元素中在白色背景上创建白色文本。我认为这些元素只应更改其文本颜色以匹配应用程序,如果它们还提供了一种方法来更改其背景颜色以匹配应用程序。