金田

Apple一直是注重用户体验的典范,而此次在UI上面,更是做到极致。此次iOS 9的发布能完全支持阿拉伯语、希伯来语等书写和阅读方式为从右向左的语言环境。不仅仅是简单的基础文本,而是支持将界面翻转提供原生从右到左的体验,并且实现从左到右和从右到左的无缝切换,能让应用程序变成一个完全支持双向的程序。

下面是两种阅读方向示意图:

图 1 Left-to-Right(截取自WWDC演示文档)

图 2 Right-to-Left (截取自WWDC演示文档)

常用控件Right-to-Left支持配置

正如前面提到的,iOS 9对Right-to- Left的支持不仅仅只是简单的文本,上图提到的是表视图的效果,表示图相关的手势和其相关的动画也会相应的反转方向,以及导航控制器、滑杆等相关东西都会做相应体验上适配,真真的做到了完美支持国际化的用户界面体验,这也是苹果在用心做体验。

简单实现方法介绍

要实现两种不同布局的无缝支持苹果有提供一个很简单的方法,只需要对配置做相应的调整即可,从导入从右到左语言的翻译我们就能看到效果。

我们都知道在Xcode中的Scheme中Application Language的设置我们一般默认是选择System Language,这样选择是OK的,但是我们现在没有引入相应语言的翻译,我们就在下拉菜单中选择最后一个Right-to-Left Pseudolanguage.,同时使用Auto Layout解决界面反转后的适配问题。我们就能实现Right-to-Left界面的整个反转了。

版权所有,转载须注明作者(金田)及原文出处(原文)

iOS 9之New UIKit for International User Interfaces的更多相关文章

  1. iOS学习32之UIKit框架-可视化编程-XIB

    1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...

  2. <iOS 组件与框架> -- UIKit Dynamics

    UIKit Dynamics 结合 『iOS 组件与框架 』一书.总结的知识点与demo demo 地址: GitHub地址 一.概述 1.UIKit Dynamics 是 iOS 7 新增的内容.其 ...

  3. [Android开发学iOS系列] 快速上手UIKit

    快速上手iOS UIKit UIKit是苹果官方的framework, 其中包含了各种UI组件, window和view, 事件处理, 交互, 动画, 资源管理等基础设施支持. 按照前面的介绍, 用U ...

  4. iOS坐标转换失败?UIKit的屠神坑

    使用UIKit的坐标转换方法convertxxx,千万要注意: 一个控件可以转换子控件上的某个点,到另外一个控件上 但是不能转换自己本身的点,到另外一个控件上,否则会数量加倍 所以,一个控件若想转换本 ...

  5. iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说

    UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDyna ...

  6. iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解

    UIKit Dynamic是iOS7 新增的一组类和方法,可赋予UIView逼真的行为和特征,不需要写动画效果那些繁琐的代码,让开发人员能够轻松地改善应用的用户体验.一共有6个可用于定制UIDynam ...

  7. WinObjc - 使用iOS项目生成通用Windows应用

    Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布的Project IslandWood项目,致力于将iOS应用快速 ...

  8. 【译】使用UIKit进行面向对象的编程

    在WWDC 2015上,Apple谈了Swift中面向协议编程的话题,令人深思.在那之后,好像每个人都在讨论关于协议扩展的话题,这个新的语言特性使每个人都有所困惑. 我阅读了许多关于Swift中协议的 ...

  9. iOS界面开发

    [转载] iOS界面开发 发布于:2014-07-29 11:49阅读数:13399 iOS 8 和 OS X 10.10 中一个被强调了多次的主题就是大一统,Apple 希望通过 Hand-off ...

随机推荐

  1. lesson9:分布式定时任务

    在实际的开发过程中,我们一定会遇到服务自有的定时任务,又因为现在的服务都是分布式的,但是对于定时任务,很多的业务场景下,还是只希望单台服务来执行,网上有很多分布式定时任务的框架,各位如感兴趣,可以自行 ...

  2. STK 10.1.3

    2692407267@qq.com.很多其它内容请关注http://user.qzone.qq.com/2692407267 STK 10.1.3与Qualnet联合仿真的demo

  3. Apache配置HTTPS协议搭载SSl配置全过程

    1.首先要开启相应的扩展和辅助的dll(ssleay32.dll,libeay32.dll)到system32下 2.生成服务器证书 安装好在bin目录下有一个openssl.exe文件,用来生成证书 ...

  4. JPDA 利用Eclipse和Tomcat进行远程调试 --转

    1 编辑tomcat\bin\catalina.bat  ,添加 rem =============================================================== ...

  5. [转] JSON for java入门总结

    一.JSON介绍 JSON(JavaScript Object Notation),类似于XML,是一种数据交换格式,比如JAVA产生了一个数据想要给JavaScript,则除了利用XML外,还可以利 ...

  6. Linux UDP严重丢包问题的解决

    测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈B ...

  7. android之GridView实现九宫格布局

    效果图: 代码如下: MyGridView.java /** * 自定义GridView 解决在scrollview中只显示第一行数据的问题 * Created by Spring on 2015/1 ...

  8. c - 统计字符串"字母,空格,数字,其他字符"的个数和行数.

    #include <stdio.h> #include <ctype.h> using namespace std; /* 题目:输入一行字符,分别统计出其中英文字母.空格.数 ...

  9. 批量执行插入的sql和自动补零

    DECLARE @invoice_no int SET @invoice_no=3 WHILE @invoice_no<=100 --需要插入的次数 BEGIN --此处需要执行的插入sql文 ...

  10. PartialViewResult用法

    后台代码 ) { IList<TestModel> lstTestModel = this.GetModelList(categoryid); return PartialView(lst ...