2017.05.14(自己写的段子总结)

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

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

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

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

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

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


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

TabbarController和navigationController

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

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

在这两个controller中

initialize{

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


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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 3,454评论 2 4
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 1.xcode5和xcode7区别 1.xcode7没有Frameworks文件夹,xcode7内部会自动帮你导入...
    彼岸的黑色曼陀罗阅读 526评论 0 2
  • 因为自己写字太丑,又恰好是个比较吹毛求疵的人(老是对挂在外墙或者什么角落的一些恶心设计深恶痛绝骂骂咧咧),所以每每...
    TONY先生的假期阅读 412评论 0 2
  • 第九周里感觉还是没把力气用尽。但这个问题在这周里被充分认识到了,这些认识上的长进都是长足的。很多方面结束徘徊,下周...
    5779cc3e3627阅读 233评论 0 1