IOS备忘录

  • UIImage的渲染模式:UIImage.renderingMode

着色(Tint Color)是iOS7界面中的一个新特性。可以设置一个UIImage在渲染时是否使用当前视图的Tint ColorUIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:。该枚举中包含下列值:

UIImageRenderingModeAutomatic  // (默认值)根据图片的使用环境和所处的绘图上下文自动调整渲染模式。  
UIImageRenderingModeAlwaysOriginal  // 始终绘制图片原始状态,不使用Tint Color。  
UIImageRenderingModeAlwaysTemplate   // 始终根据Tint Color绘制图片,忽略图片的颜色信息。  

  • 关于initdealloc使用注意

永远不要自己调用dealloc方法, 在dealloc的最后需要调用super classdealloc
在OC中initdealloc不能使用属性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];

你可能感兴趣的:(IOS备忘录)