- UIImage的渲染模式:
UIImage.renderingMode
著色(Tint Color
)是iOS7界面中的一個新特性驮瞧±撬伲可以設(shè)置一個UIImage在渲染時是否使用當(dāng)前視圖的Tint Color
茬末。UIImage
新增了一個只讀屬性:renderingMode
睡陪,對應(yīng)的還有一個新增方法:imageWithRenderingMode:
。該枚舉中包含下列值:
UIImageRenderingModeAutomatic // (默認(rèn)值)根據(jù)圖片的使用環(huán)境和所處的繪圖上下文自動調(diào)整渲染模式大猛。
UIImageRenderingModeAlwaysOriginal // 始終繪制圖片原始狀態(tài),不使用Tint Color淀零。
UIImageRenderingModeAlwaysTemplate // 始終根據(jù)Tint Color繪制圖片胎署,忽略圖片的顏色信息。
- 關(guān)于
init
和dealloc
使用注意
永遠(yuǎn)不要自己調(diào)用dealloc
方法, 在dealloc
的最后需要調(diào)用super class
的dealloc
窑滞。
在OC中init
和dealloc
不能使用屬性self.property = XXX
來進(jìn)行設(shè)置琼牧。
- 最上層VC隱藏Navigation Bar,其他頁面都不隱藏哀卫。
在第一個視圖控制器里寫下了如下代碼:
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = NO;
}
這樣寫導(dǎo)致返回的時候會有黑條巨坊。原因就是因為沒有動畫
正確的寫法應(yīng)該是下面這樣。
- (void)viewWillAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:YES animated:animated];
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:NO animated:animated];
[super viewWillDisappear:animated];
}
- 設(shè)置UITabbar選中圖片
如果當(dāng)前viewcontroller
既有navigation
又有tabbar
則需要
UIImage *imgNormal = [UIImage imageNamed:@"home_finding"];
UIImage *imgSelected = [UIImage imageNamed:@"home_finding_hl"];
self.navigationController.tabBarItem.image = [imgNormal imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
self.navigationController.tabBarItem.selectedImage = [imgSelected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
注意, 這里直接用self.tabBarItem
無效.
//無效
self.tabBarItem.image = [imgNormal imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];