iOS实现应用内切换语言及字体大小(模仿微信)
前言
最近公司需要切换多语言和字体大小功能,上网查看比较少的实用方案。于是我经过几天尝试和思考完成了第一版的应用内多语言版本切换的功能Demo。下面分享给大家,需要的朋友可以参考学习,下面话不多说了,来一起看看详细的介绍吧。
方案思路:
一.如何只在一个配置文件中,实现多语言的配置。
二.每个文本控件如何显示对应语言。
三.如果通过开关来控制界面中的每个文本控件,同时切换对应的语言和字体样式。
首先:
解决第一个配置问题:我是用plist文件(JSON文件也可以)。通过一个key 对应一组语言数据就可以解决了。如下图:我设置key为订单详情,对应数组类型和文本:中文(订单详情) ,英文(OrderDetail),中文繁体(訂單詳情)。
其次:
我通过category类方式来绑定配置文件中的key值,然后通过一个枚举类型切换语言种类和字体大小。
最后:
我通过一个控制中心,要变化语言的文本控件加入到这个控制中心的字典中,然后通过此控制中心来统一管理和分发消息。此外我还做了一些富文本的语言切换功能。
源码下载:
本地下载:http://xiazai.jb51.net/201801/yuanma/ZCLanguageDemo(jb51.net).rar
github地址:https://github.com/PeterCore/ZCLanguageManagerDemo
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
您可能感兴趣的文章:
- iOS实现应用内切换本地化语言的方法实例
相关推荐
-
iOS实现应用内切换本地化语言的方法实例
前言 当我们的应用仅仅面向国内用户群,一般仅支持一种语言--中文就可以了.当面向国外用户时就需要进行国际化了,不仅仅是语言的转变,也可能包括设计风格,页面布局.交互效果的转变,如微信,微博,QQ这类应用都有着切换语言的功能. 最近因为工作的原因,遇到个需要在应用内部设置语言的需求,默认使用系统设置的语言,如果用户在App内设置了别的语言,以后则按照新设置的语言显示界面. iOS确定应用的语言 1.iOS首先搜索用户的语言偏好设置(设置-通用-语言与地区) 2.检测你的应用是否支持用户的语言,先用
-
iOS实现应用内切换语言及字体大小(模仿微信)
前言 最近公司需要切换多语言和字体大小功能,上网查看比较少的实用方案.于是我经过几天尝试和思考完成了第一版的应用内多语言版本切换的功能Demo.下面分享给大家,需要的朋友可以参考学习,下面话不多说了,来一起看看详细的介绍吧. 方案思路: 一.如何只在一个配置文件中,实现多语言的配置. 二.每个文本控件如何显示对应语言. 三.如果通过开关来控制界面中的每个文本控件,同时切换对应的语言和字体样式. 首先: 解决第一个配置问题:我是用plist文件(JSON文件也可以).通过一个key 对应一组语言数
-
App内切换语言详解
前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不用担心我findViewBy不到Id了哈哈,开个玩笑) 先上示例图: 代码实现: 布局文件(Data-Binding模式),很简单就是两行文字 <?xml version="1.0" encoding="utf-8"?> <layout xmlns:a
-
iOS设置UIButton文字显示位置和字体大小、颜色的方法
前言 大家都知道UIButton按钮是IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用. 一.iOS设置UIButton的字体大小 btn.frame = CGRectMake(x, y, width, height); [btn setTitle: @"search" forState: UIControlStateNormal]; //设置按钮上的自体的大小 //[btn setFont: [UIFont system
-
Android实现应用内置语言切换功能
一.需求 有时候应用需要在内部切换语言但又不影响系统的语言,比如是应用现在是中文的,系统语言也是中文的,我把应用的切换成英文显示后系统语言还是中文的,系统语言切换后也不会被改变,还有就是有些机的系统是被改造精简过的,比如有些国产机的系统的语言就被精简剩中文和英文.支付宝.微信.Top Story都有在应用内部设置语言切换这样的功能. 二.实现效果 先看看实现效果吧. 三.实现 (一)添加多种语言的资源文件夹及文件 我这默认是英语再添加了个俄文(Google翻译的)和中文. values/stri
-
iOS开发教程之APP内部切换语言的实现方法
前言 相信大家在iOS开发中都遇到了一个问题,随着APP越来越完善,很多APP都做了国际化,也实现了APP内部切换语言.那么如何实现的呢?下面来一起看看详细的介绍吧 原理 国际化都会走到NSBundle的- (NSString *)localizedStringForKey:(NSString *)key value:(nullable NSString *)value table:(nullable NSString *)tableName方法,使用自定义Bundle替换NSBundle,通过
-
iOS开发tips-UINavigationBar的切换效果
概述 在iOS系统中,如果控制器是以push方式进行管理的话,那么事实上多个控制器是共享的同一个导航栏.当然iOS系统的设计无可厚非,但是国内的应用经常会遇到很多个性的设计,就比如说A push到 B,A可能有导航栏,但是B控制器要求导航栏是透明的,这样一来A和B由于共用同一个导航栏就会让整个切换操作不易管理,何况从iOS 7开始不仅仅是点击返回按钮瞬间返回A那么简单,还要支持通过手势操作从B缓慢返回到A的导航栏渐变效果.本文就简单看一下如何能够更加合理的设计导航栏切换的效果以避免开发中由于导航
-
jQuery实现切换字体大小的方法
本文实例讲述了jQuery实现切换字体大小的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: $.fn.switchSize = function(settings) { // defaults settings settings = $.extend({ container: 'body', arrSizeClass: ['small', 'medium', 'large'], defaultClass: 'medium', saveCook
-
iOS开发基础之C语言
为何学习iOS开发要先学C语言呢,学习c语言对ios开发有何作用. 现在越来越多的iOS开发兴趣爱好者投入到了iOS培训中,有的是已经在职的员工,有的是还在就读的学生,还有一些是完全零基础的同学,那么对于他们来说就要一切从基础开始学,首先从C语言学起. 因为C语言是一门语言基础,因具备简洁.灵活等特点而被广泛应用,在多种开发环境中都起着重要作用.那么,为什么学习iOS开发要先学C语言呢? 因为在iOS开发中,会经常使用C语言和汇编的,而汇编语言相对而言要生涩繁琐些,C语言因此便成为程序员的首选.
-
iOS字体大小适配的3种方法示例代码
前言 在iOS开发中,有些公司对字体也有适配要求,为了让字体美观,所以在不同尺寸的屏幕上字体大小也要做到适配. 自己总结了几种方法供大家参考,下面话不多说了,来一起看看详细的介绍吧 方法如下: 方法一:用宏定义适配字体大小(根据屏幕尺寸判断) //宏定义 #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width) #define FONT_SIZE(size) ([UIFont systemFontOfSize:FontSize(
随机推荐
- windows和linux下Ruby的下载与安装
- ExtJS Store的数据访问与更新问题
- .net搜索查询并实现分页实例
- 在Asp.net中为图像加入水印信息并保存为Jpg类型
- C#中的委托和事件学习(续)
- 详解php比较操作符的安全问题
- JSP判断移动设备的正则
- Centos下搭建golang环境及vim高亮Go关键字设置的方法
- Ajax核心XMLHTTP组件资料第1/2页
- html组件不可输入(只读)同时任何组件都有效
- 利用python打印出菱形、三角形以及矩形的方法实例
- python开发之thread线程基础实例入门
- 一个统计表每天的新增行数及新增存储空间的功能
- 提高关键字在百度里的排名的方法
- 解析c++中参数对象与局部对象的析构顺序的详解
- 浅谈Silverlight 跨线程的使用详解
- linux的shell命令检测某个java程序是否执行
- Android中Canvas的常用方法总结
- Android 获取手机联系人实例代码详解
- 简单的python后台管理程序