苹果开发 笔记(92) UINavigationBar UITabBar

今天记录一下之前经常忘记的知识点。

1.忘记了appearance 的存在

设置UINavigationBar 和UITabBar 的背景颜色
UINavigationBar 的 appearance 单例当中 只要设置了这个属性后就会对整个UINavigationBar 产生影响。

同理UITabBar 也是一样需要使用 appearance 获取到单例进行设置。

 UINavigationBar *bar =[UINavigationBar appearance];
 [bar setBarTintColor: [UIColor colorWithRed:138/255.0 green:43/255.0 blue:226/255.0 alpha:1]];
 [bar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

 UITabBar *tabbar = [UITabBar appearance];
 [tabbar setBarTintColor: [UIColor colorWithRed:138/255.0 green:43/255.0 blue:226/255.0 alpha:1]];
 [tabbar setTintColor:[UIColor whiteColor]];

2.colorWithRed 的方法需要除以255.0
之前使用这个API的时候老是直接输入138,43,226 这样的值,结果老是不显示,忘记了除以这个值。

3. NSAttributeString
文本设属性值的时候,经常要在这个类里面找到相应的属性构建一个字典,打开该类就能找到相应的值了。

一直疑惑 NSForegroundColorAttributeName 这些属性在哪里可以找到?点击进去就可以看到相应的属性值:NSAttributeString 属性。 里面的值都可以看到。
但凡对文本设置属性则来这里跑一下即可。

4 导航栏的高度问题经常需要这样处理一下

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])  
{  
     self.edgesForExtendedLayout = UIRectEdgeNone;  
 }  

苹果开发 笔记(92) UINavigationBar UITabBar_第1张图片

效果,使用豆瓣的接口,参考一个宁浩网的(React Native)案例 进行修改调整。
苹果开发 笔记(92) UINavigationBar UITabBar_第2张图片

5 导航栏颜色
今天又忘记了这些颜色的位置,查询一下。

 UINavigationBar *bar =[UINavigationBar appearance];
    [bar setBarTintColor: [UIColor colorWithRed:138/255.0 green:43/255.0 blue:226/255.0 alpha:1]]; //导航栏背景色
    [bar setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];//标题栏字颜色
    [bar setTintColor:[UIColor whiteColor]];////标题栏左边返回的字体颜色

你可能感兴趣的:(苹果开发 笔记(92) UINavigationBar UITabBar)