【问题标题】:UISplitView remove app tint colorUISplitView 删除应用程序色调颜色
【发布时间】:2014-02-10 09:11:58
【问题描述】:
我的应用基于 iPad 上的UISplitViewController。
有一个功能可以在第一个 UISplitViewController over 上添加第二个。
但这会删除 apptint。
返回第一个拆分视图时,我在第一个拆分视图中尝试了以下代码,但它不起作用:
-(void)viewWillAppear:(BOOL)animated {
UIWindow *appWindow = [[UIApplication sharedApplication]keyWindow];
[appWindow setTintColor:[UIColor redColor]];
}
我听说有一个错误(苹果错误报告中的 8276014)似乎与我的问题相符。
有什么帮助吗?
【问题讨论】:
标签:
ios
objective-c
ios7
uiviewcontroller
uisplitviewcontroller
【解决方案1】:
您还可以在 Interface Builder 中设置应用的色调颜色。文件检查器的 Interface Builder Document 部分中的 Global Tint 菜单可让您打开 Colors 窗口或选择特定颜色。
或
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.tintColor = [UIColor redColor];
return YES;
}
或
在 iOS 7 中,色调颜色是 UIView 的一个属性。 iOS 7 应用程序通常使用色调来定义一个关键颜色,以指示整个应用程序中 UI 元素的交互性和选择状态。
当您为视图指定色调时,色调会自动传播到视图层次结构中的所有子视图。由于 UIWindow 继承自 UIView,因此您可以通过使用如下代码设置窗口的 tint 属性来为整个应用程序指定一种着色颜色:
iOS 7 不支持使用外观代理 API 设置 tintColor 属性。
[[UIView appearance] setTintColor:[UIColor redColor]];//iOS 6