- UIImage的渲染模式:
UIImage.renderingMode
着色(Tint Color
)是iOS7界面中的一个新特性。可以设置一个UIImage在渲染时是否使用当前视图的Tint Color
。UIImage
新增了一个只读属性:renderingMode
,对应的还有一个新增方法:imageWithRenderingMode:
。该枚举中包含下列值:
UIImageRenderingModeAutomatic // (默认值)根据图片的使用环境和所处的绘图上下文自动调整渲染模式。
UIImageRenderingModeAlwaysOriginal // 始终绘制图片原始状态,不使用Tint Color。
UIImageRenderingModeAlwaysTemplate // 始终根据Tint Color绘制图片,忽略图片的颜色信息。
- 关于
init
和dealloc
使用注意
永远不要自己调用dealloc
方法, 在dealloc
的最后需要调用super class
的dealloc
。
在OC中init
和dealloc
不能使用属性self.property = XXX
来进行设置。
- 最上层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;
}
这样写导致返回的时候会有黑条。原因就是因为没有动画
正确的写法应该是下面这样。
- (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];
}
- 设置UITabbar选中图片
如果当前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];
网友评论