Ios7 SKStoreProductViewController标题颜色

Ios7 SKStoreProductViewController标题颜色,ios7,storekit,uiappearance,Ios7,Storekit,Uiappearance,如何更改SKStoreProductViewController中的标题颜色和/或条形图着色颜色 我正在使用外观API将导航栏设置为深色,文本设置为白色。它会更改我的SKStoreProductViewController中的标题颜色,但不会更改条的着色颜色。我认为您无法更改。至少在iOS 7上没有。在iOS 6上,您可以使用UIAppearance协议,SKSPVC将拾取您在UINavigationBar上设置的外观 如上所述,SKSPVC是一种颜色,因此无法通过编程实现,这意味着您无法直接(

如何更改SKStoreProductViewController中的标题颜色和/或条形图着色颜色


我正在使用外观API将导航栏设置为深色,文本设置为白色。它会更改我的SKStoreProductViewController中的标题颜色,但不会更改条的着色颜色。

我认为您无法更改。至少在iOS 7上没有。在iOS 6上,您可以使用
UIAppearance
协议,SKSPVC将拾取您在
UINavigationBar
上设置的外观


如上所述,SKSPVC是一种颜色,因此无法通过编程实现,这意味着您无法直接(或间接)设置其外观。

请执行以下操作,以避免SKStoreProductViewController接管白色值的色调:

 #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绘制此控制器中的所有UIBarButtonims和UISegmentedControls,从而使控制器更像您的应用程序设计

重要提示:只需不要忘记(!!!)在您解除此控制器后更改所有着色,否则应用程序中新创建的视图可能会接管强制着色

更新:因为您可能已经发现以下操作外观的方法不起作用:

[UINavigationBar appearanceWhenContainedIn:[SKStoreProductViewController class], nil]
此修复程序适用于iOS 6上的iOS 7和iOS 8。您有不同的问题。=)