iOS7所有这些颜色有什么区别,“barTintColor,tintColor,backgroundColor,UITextAttributeTextColor”?

时间:2014-01-30 03:35:37

标签: ios7 tintcolor

我对iOS7中的navigationController中的所有这些颜色设置感到困惑。有人能告诉我这些东西之间究竟有什么区别吗?我试图找出其中一些,但不确定我是否正确。

谢谢!

self.navigationController.navigationBar.barTintColor=[UIColor redColor];//???

self.navigationController.navigationBar.backgroundColor=[UIColor greenColor];//???

self.navigationController.navigationBar.tintColor=[UIColor whiteColor];//the text colour of backButton of the navigationBar???

self.navigationController.navigationBar.titleTextAttributes = @{UITextAttributeTextColor:[UIColor blueColor]};//the text color of the title of the navigationBar

 [self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{UITextAttributeTextColor:[UIColor greyColor]} forState:UIControlStateNormal];//the text colour of the customised rightButton in the navigationBar

1 个答案:

答案 0 :(得分:15)

以上是以下两者之间的区别:

barTintColor:要应用于导航栏背景的色调颜色。

backgroundColor:更改navigationBar的背景颜色

tintColor:要应用于导航项和小节按钮项的色调颜色。

UITextAttributeTextColor:文本属性字典中文本颜色的关键字。对应的值是UIColor的实例。 Available in iOS 5.0 and later.Deprecated in iOS 7.0.这是一个easy fix。只需更改UITextAttributeTextColor to NSForegroundColorAttributeName

即可

以下是更多详情:https://developer.apple.com/library/ios/documentation/uikit/reference/UINavigationBar_Class/Reference/UINavigationBar.html