【IOS】多语言资源文件加载的一种解决方案
来源:互联网 发布:淘宝win10激活码危险 编辑:程序博客网 时间:2024/05/16 13:01
转载原文地址:http://blog.csdn.net/toss156/article/details/7468288】
IOS上对于字符串,提供能国际化支持,可以用NSLocalizedString来实现国际化,但是对于图片,声音等文件,就需要我们自己来控制了。下面IOS上多种语言资源文件加载的一种解决方案,如果大家有什么更好的想法,欢迎留言告知。
- //
- //
- // ResManager.h
- //
- // Created by 周海锋 on 12-4-16.
- // Copyright (c) 2012年 CJLU. All rights reserved.
- //
- #import <foundation foundation="" h="">
- #import <uikit uikit="" h="">
- typedef enum {
- Chinese,
- English,
- Tradition,
- }Language;
- @interface ResManager : NSObject
- {
- Language language;
- }
- @property (nonatomic,assign) Language language;
- +(ResManager *)ShareManager;
- -(UIImage *) LoadImage:(NSString *) img;
- @end
- </uikit></foundation>
- //
- // ResManager.m
- //
- // Created by 周海锋 on 12-4-16.
- // Copyright (c) 2012年 CJLU. All rights reserved.
- //
- #import "ResManager.h"
- @implementation ResManager
- @synthesize language;
- static ResManager * resManger = nil;
- +(ResManager *)ShareManager
- {
- @synchronized(self) {
- if (resManger == nil) {
- resManger = [[self alloc] init];
- }
- }
- return resManger;
- }
- //唯一一次alloc单例,之后均返回nil
- + (id)allocWithZone:(NSZone *)zone
- {
- @synchronized(self) {
- if (resManger == nil) {
- resManger = [super allocWithZone:zone];
- return resManger;
- }
- }
- return nil;
- }
- //copy返回单例本身
- - (id)copyWithZone:(NSZone *)zone
- {
- return self;
- }
- -(id) init
- {
- if (self = [super init]) {
- language = Chinese;
- }
- return self;
- }
- -(UIImage *) LoadImage:(NSString *) name
- {
- switch (language) {
- case Chinese:
- name = [name stringByAppendingString:@"_c.png"];
- break;
- case English:
- name = [name stringByAppendingString:@"_e.png"];
- break;
- case Tradition:
- name = [name stringByAppendingString:@"_t.png"];
- break;
- default:
- break;
- }
- UIImage *image = [UIImage imageNamed:name];
- return image;
- }
- @end
- 【IOS】多语言资源文件加载的一种解决方案
- 【IOS】多语言资源文件加载的一种解决方案
- 【IOS】多语言资源文件加载的一种解决方案
- iOS资源的加载
- 一种基于Hibernate的数据库多语言解决方案(一)
- 一种基于Hibernate的数据库多语言解决方案(二)
- BCB如何加载字符串资源文件(语言资源文件)?
- 加载多个SWF文件的解决方案
- 加载多个SWF文件的解决方案
- ios从.plist文件中加载资源
- 多语言资源文件的过滤工具
- C# 多语言资源文件的访问
- 资源文件(多语言)的管理
- 一种快速加载大文件的方法
- 一种异步加载资源的方法(源于SDK文档)
- RecycleView上拉加载更多的一种解决方案
- IOS 资源文件的读取
- 多语言资源文件命名
- 秋叶谈创业–如何开公司
- 黑马程序员——java 之 IO读取文件排序后存入另一文件操作
- flex 与javascript的相互调用
- Http Status Code/http响应状态码
- 设计模式笔记之---策略模式
- 【IOS】多语言资源文件加载的一种解决方案
- 几秒钟后自动跳转
- myeclipse相同变量的颜色高亮
- 磁盘排序和有关的思考
- 青春划过指尖
- Ubuntu实用工具
- android文件存储
- Spring源码分析-AOP拦截器链的使用(六)
- SQL语法大全