【新浪微博项目】03微博项目MVC管理与IOS7优化

优化iOS7显示图片与导航目录设置
本文详细介绍了如何在iOS7环境下优化图片显示,并采用MVC方式设置导航目录,包括自定义分类加载图片、判断系统版本选择加载图片、初始化子控制器时设置图标与选中图标等操作。

1.导航目录的设置

导航目录要按照MVC的方式设置,根据Controller有多少Controller就有多少相关的项:

2.设置IOS7显示图片的优化

添加自己写的分类:
头文件:
#import <UIKit/UIKit.h>

@interface UIImage (MJ)
/**
 *  加载图片
 *  @param name 图片名
 */
+ (UIImage *)imageWithName:(NSString *)name;
@end

实现文件:
#import "UIImage+MJ.h"
#import "Header.h"
@implementation UIImage (MJ)
+ (UIImage *)imageWithName:(NSString *)name
{
    if (iOS7) {
        NSString *newName = [name stringByAppendingString:@"_os7"];
        UIImage *image = [UIImage imageNamed:newName];
        if (image == nil) { // 没有_os7后缀的图片
            image = [UIImage imageNamed:name];
        }
        return image;
    }  
    // 非iOS7
    return [UIImage imageNamed:name];
}
@end

3.判断设置是否是IOS7,选择加载图片

#define iOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0)
/**
 *  初始化一个子控制器
 *
 *  @param childVc           需要初始化的子控制器
 *  @param title             标题
 *  @param imageName         图标
 *  @param selectedImageName 选中的图标
 */
- (void)setupChildViewController:(UIViewController *)childVc title:(NSString *)title imageName:(NSString *)imageName selectedImageName:(NSString *)selectedImageName
{
    // 1.设置控制器的属性
    childVc.title = title;
    // 设置图标
    childVc.tabBarItem.image = [UIImage imageWithName:imageName];
    // 设置选中的图标
    UIImage *selectedImage = [UIImage imageWithName:selectedImageName];
    if (iOS7) {
        childVc.tabBarItem.selectedImage = [selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    } else {
        childVc.tabBarItem.selectedImage = selectedImage;
    }
    
    // 2.包装一个导航控制器
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:childVc];
    [self addChildViewController:nav];
}
显示结果图形:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值