我可以在UIDocumentInteractionController中更改Done按钮的文本颜色吗?目前有一个白色完成按钮,没有正确的外观
答案 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元素中在白色背景上创建白色文本。我认为这些元素只应更改其文本颜色以匹配应用程序,如果它们还提供了一种方法来更改其背景颜色以匹配应用程序。