如何更改SKStoreProductViewController中的标题颜色和/或条纹色彩?
我使用外观API将导航栏设置为深色,将文本设置为白色。它改变了我的SKStoreProductViewController中的标题颜色而不是条纹色调。
答案 0 :(得分:0)
我认为你不能。至少不在iOS 7上。在iOS 6上,您可以使用UIAppearance
协议,SKSPVC将选择您在UINavigationBar
上设置的外观。
正如this thread所述,SKSPVC是一个remote view controller因此无法通过编程方式进行,这意味着您无法直接(或间接地)设置它的外观。 )。
答案 1 :(得分:0)
执行以下操作以避免 SKStoreProductViewController 接管值为WHITE的tintColor:
#define kCOLOR_NON_WHITE_COLOR [UIColor darkGrayColor]
// CHANGE ALL TINTING BEFORE WE CREATE An INSTANCE OF THIS BROKEN PIECE
[UIWindow appearance].tintColor = kCOLOR_NON_WHITE_COLOR;
[UIView appearance].tintColor = kCOLOR_NON_WHITE_COLOR;
[UINavigationBar appearance].tintColor = kCOLOR_NON_WHITE_COLOR;
[UIBarButtonItem appearance].tintColor = kCOLOR_NON_WHITE_COLOR;
// NOW CREATE THE THING
SKStoreProductViewController *controller = [[[SKStoreProductViewController alloc] init] autorelease];
这将在定义的颜色AFAIK中绘制此控制器中的所有UIBarButtonItems和UISegmentedControls,从而使控制器更像您的应用程序设计。
重要提示:不要忘记(!!!)在您关闭此控制器后更改所有着色,否则您应用中新创建的视图可能会接管强制着色。
更新:您可能已经发现以下操作外观不工作:
[UINavigationBar appearanceWhenContainedIn:[SKStoreProductViewController class], nil]
此修复程序适用于iOS 7&在iOS 6上你有8个不同的问题。 =)