UITextField和UITextView的字数限制

概述 这是个老生常谈的问题,主要的困难在于中英文的长度计算以及emoji表情的截断.本文主要讲的是字节限制,也就是说英文字母是1字节,中文是2字节,emoji是4字节. 形式 主要两种形式:一是在用户动态输入的时候进行限制,二是在用户提交的时候进行提示.对于后者来说比较容易实现但是对于用户的体验并不是很好. 输入时限制 输入时限制的实现需要两个时机判断,在UITextViewDelegate中对应为 -... More

国际化

主要支持在web,H5,App端展现不同语言 语言翻译 语言翻译分为前端静态文字和server端动态文字 前端静态文字 web端 web端目前使用Vue构建框架,webpack构建工具,可以配合vue-i18n的国际化插件,完成无缝接入到现有的项目中去,主要靠URL切换不同的语言 H5端 H5端目前没有使用构建框架,但使用了gulp构建工具,可以考虑从运行时(DOM层面添加属性,对应map表的key值)或者编译时(类似webpack的preloader)完成国际化的工作,主要靠URL切换不同的语言 App端 App端采用自带的语言国际化包完成国际化工作 server端动态文字 web端与H5端 采用接口URL参数传递语言偏好给后台,采用GET请求或者POST请求,后台在返回对应语言的提示文字 App端 国际化涉及当前系统的语言偏好设置和用户的语言偏好设置,具体情况如下 1.... More

制作自己的Cocoapods库

概述 将开源库集成到github平台,通过cocoapods来集成管理。以下,项目名以PROJECTNAME替代。 步骤 github项目 创建github项目,推荐协议为MIT,创建完后,clone到本地,并提交稳定的master分支。如果不知道是否稳定,可以先做下一步,再回来提交master分支。 podspec文件 podspec文件是ruby语法编写的。 创建 进入项目根目录,创建podspec文件 #... More