2017.05.14(自己写的段子总结)

PCH文件是一个预编译文件,pch头文件的内容能够被项目中所有其他源文件共享和访问

1.存放一些全局的宏(整个项目都要用的上的)

2.用来包含一些全部的头文件

3.能够自动打开或关闭日志输出功能

其中可用来存储共享的信息:其他页面需要导入的头文件以及屏幕宽度,高度设置,需要的第三方库头文件等

创建完成后还要进行相关的配置,


2017.05.14(自己写的段子总结)_第1张图片

command +b 会进行预编译,预编译好的pch文件,会被缓存起来,提高编译速度

TabbarController和navigationController

initialize方法,可以利用他,在类使用前可以进行一些预处理,Apple文档中说明的load和initialize的区别:load是只要是类所在的文件被引用就会被调用,而initialize是在类或其子类的第一个方法被调用之前调用,所以如果类没有被引用进项目,就不会有load调用,但即使类文件被引用,但是没有使用,则initialize也不会被调用

他的相同点在于:方法只会被调用一次

在这两个controller中

initialize{

在这里可以设置一些静态属性


2017.05.14(自己写的段子总结)_第2张图片

appearance

UIAppearance设置一些UI的全局效果,这样很方便实现UI的自定义效果,有能最简单的实现统一界面风格,注意:

1.控件遵守了UIAppearance协议,才能对控件进行appearance设置

2、只有被UI_APPEARANCE_SELECTOR这个宏修饰的属性才能使用appearance进行设置,其他属性则不具备该功能

3、appearance设置需要在该控制显示之前设置完成,否则可能无效



setTitleTextAttributes设置title的文字属性

UINavigationBar提供了titleTextAttributes来简单设置title的样式

titleTextAttributes是一个NSDictionary类型,包含的固定的属性名称,可以用来设置title的样式,指定的属性keys

声明于NSString UIKit Additions Reference扩展中,包括:

NSString *constUITextAttributeFont,设置title的文字字体;

NSString*constUITextAttributeTextColor,设置title的文字颜色;

NSString*constUITextAttributeTextShadowColor,设置titlewz的阴影颜色;

NSString*constUITextAttributeTextShadowOffset,设置titlewz阴影的平移量 ;




imageWithRenderingMode是UIImage的渲染模式

tint color是UIColor的一个属性,代表对象的颜色风格,所有继承自UIView的对象都具有tintColor属性,个别对象如UIBarButtonItem等也具有该属性。

你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color。UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性。

UIImageRenderingModeAutomatic  // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式。

UIImageRenderingModeAlwaysOriginal  // 始终绘制图片原始状态,不使用Tint Color。

UIImageRenderingModeAlwaysTemplate  // 始终根据Tint Color绘制图片,忽略图片的颜色信息。


UInavigationController的一般使用(项目中都是自定义使用)

如果使用系统自带的NavigationController,可能会造成许多意想不到的问题,比如说返回手势的失效,NavigationBar颜色设置的不一致(由于透明度造成),或者是当NavigationController嵌套在UITabbarController中使用时,在push过程中,tabor何时消失的不确定等等问题,所以我们经常使用自定义的NavigationController来控制一组控制器,过程如下:

1.继承UINavigationController来实现自己的NavigationController。

2.解决返回手势失败的问题。

3.解决NavigationBar颜色设置不一致的问题。

4.解决push时隐藏Tabbar。

5.设置整个NavigationController状态栏的样式,注意:在iOS7之后,修改状态栏样式的方法不被提供了,而是改为了控制器自己重写方法

- (UIStatusBarStyle)preferredStatusBarStyle;

来实现。但是如果控制器被NavigationController所管理,那么该方法只会调用一次,即调用栈底层的控制器的该方法,其他控制器的该方法会被截断。(还有的一些设置http://www.jianshu.com/p/9bcd6a405ef3)

你可能感兴趣的:(2017.05.14(自己写的段子总结))