如何在手机有限的屏幕上呈现清晰的UI和UX?这里太多因素需要考虑,文本排版设计就是其中不可或缺的一部分。今天,我将从文本排版设计角度出发,谈谈如何实现完美的手机UI界面。...对于iOS,使用至少11sp的字体大小,而对于Android,请选择14 sp为主文本。请注意,这是主文本通常使用的标准,不是强行的唯一标准。...行长 行长也是手机排版中的一个重要尺度要求。文本行的长度可能会影响整个排版。桌面屏幕的行长势必会超出手机屏幕边框。在手机排版中,每行上的字符数量,字体大小和行长度都紧密相连,互相影响和牵制。...而手机屏幕的空间有限,所以很多设计师只应用了2个层次:标题和文本主题。标题是抓住读者眼球,而文本传达可读性。保留标题和主题这两个结构层次,这也是手机设计的一个趋势。...例如, iOS 7使用了(Pro)Light,iOS 9使用SF-UI,而在iOS 10中,San Francisco的字体版本是SF UI Text 和 SF UI Display。 ? 10.
坑一:iOS 版微信长按识别二维码无法正常识别的bug (8.21 更新:最新版6.2.4 已经修复该bug) 以下实测在iOS 版(iPhone)微信6.2.2 中有此bug,安卓版微信暂时没有发现有此...答案是:64px 正好是微信内置浏览器标题栏+系统标题栏的高度。可以猜测的是,微信客户端在识别二维码的时候忽略了微信标题栏+系统状态栏的高度。...这个问题在iOS 版(iPhone)微信2.2及安卓版上均有之。 下面是一个演示Demo 页面,请用目标手机(iPhone 或安卓机上)微信扫描访问,然后长按识别二维码: ?...然后再尝试最后一组二维码,尝试通过滚动页面使得某个二维码不在你的屏幕可见范围,再执行长按识别二维码。...坑三:多次执行长按二维码的功能会导致内存泄露,手机会变卡 这个是组里的同事在分享会那天做演示的时候发现出来的,多次执行长按二维码的功能会导致手机(iPhone)变卡。
API注释 想要了解如何在代码中定义信息按钮,可以参考UIButton. iOS包含了两种信息按钮样式:适用于浅色内容上的深色按钮,以及适用于深色内容上的浅色按钮。...系统按钮: 默认状态下不含边界,也不含背景图 可以是图标或者文字标题 支持自定义样式,如描边或者加背景图(想要自定义按钮外观,可以使用 UIButtonTypeCustom 类型的按钮,并且提供背景图片...举个例子,你可以在文本框的左侧或者右侧加入自定义图形,或者加入系统按钮,如书签按钮等。一般来说,文本框的左侧用于表述文本框的含义,而右侧用于展示附加的功能,如书签。...iOS提供了各种不同的键盘类型,以便用户输入不同类型的文本。...设计文案时可以遵循以下指南: 跟其它所有按钮一样,使用标题式大写,而且不需要标点符号 尽可能的使用与警告文案直接相关的动词或动词词组,如”取消(Cancel)”,”查看全部(View All)”,”回复
4.1.9 行长 我们都知道,每一行文字的多少(也就是行长),对于阅读体验有着重要的影响。过长或过短的文本行会打断人的眼球移动,导致读者无法连续阅读,甚至读不下去。...其中比较适合给短标题应用center(我们给h1应用一个)。justify可以再单词间平均分布间距,实现左右两端对齐,消除毛边。但是当某些行空白太多,会出现空白“串流”的现象,并且行长越短越明显。...但是此标题党非彼标题党,我们是要让你的标题看起来更炫更酷。 我们可以借助text-shadow文本阴影来实现很好看的标题特效。给大篇幅的正文文本应用阴影不仅不会更炫,反而会降低可读性。...4.3 多栏布局 第一部分我们把整篇文章的行长设置为了33em,但是如果在较大的屏幕下,仅仅只有33em的行长可能会浪费很多空间。有时候为了有效利用宽屏,我们可以使用多栏布局。...它可以指定浏览器下载字体的地址以及如何在样式表中引用字体。
平台设计规范:某些平台(如 iOS)更倾向于使用导航栏作为主要的导航方式,因此在遵循平台设计规范的情况下,应优先考虑使用导航栏。 何时应该选择侧栏?...移动端使用:在大屏幕设备上,如平板电脑和桌面电脑,侧栏可以提供更好的用户体验,但在小屏幕移动设备上(如手机),需慎重考虑。...Flutter 中的导航栏与侧栏实现 如何在 Flutter 中实现导航栏? 在 Flutter 中,你可以使用 AppBar 组件来实现导航栏。...), body: Center( child: Text('这是一个导航栏示例'), ), ), ); } } 如何在...CupertinoDrawer:用于在 iOS 应用中显示侧边栏,与 iOS 设计规范保持一致。
count } // 每一行长什么样 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath...return sectionTitles[section] } } extension ViewController: UITableViewDelegate { // 索引的标题...tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int { // 点击的索引标题...let refresh = UIRefreshControl() // 设置显示的标题 refresh.attributedTitle = NSAttributedString...适用于基本不需要动态修改、布局固定的页面,如个人中心、设置等。 微信“发现”界面案例。
请注意,iOS本身提供了若干内置的服务,如打印,转发到Twitter,发送信息和Airplay等等,你不需要再额外为这些内置任务创建活动。...如果你的标题文字过长,iOS会将缩小文本,仍然过长的话则会被截断。一般而言,最好能避免在活动标题中提及你的公司或产品名称。...API注释 想要了解如何在代码中定义集合视图,请参考Collection View Programming Guide for iOS....API注释 想要了解如何在代码中定义表格视图,请参考Tabel View Programming Guide for the iOS以及UITableView....Value 2的布局中,文本和副标题中间的垂直间距会让用户专注于副标题的第一 个单词。 ? 重要 以上四种单元格样式均支持添加表格视图元素,如勾选或展开标志。
想要学习如何在应用中加入Quick Look文件预览功能,请查看Document Interaction Programming Topics for iOS。...欲了解如何实现这一功能,参见《iOS应用编程指南》中的执行长时间运行的后台任务。 以下是一些示例情境,其中指示了如何选择音频会话类目以提供用户喜欢的音频体验。...3.13.4 适时处理媒体远程控制事件(Handle Media Remote Control Events, if Appropriate) 当人们使用iOS媒体控制或辅助控制(如耳机线控)时,应用要能响应远程控制事件...用户习惯于这些标准控件的外观和行为,因此他们可以理解如何在你的应用中使用它们。 不要改变事件的用途,即使这个事件在你的应用中没有意义 用户期望iOS系统的所有应用媒体控制和辅助控制能有功能上的统一。...关于如何在代码中实现这些行为的相关信息,参见Text Programming Guide for iOS中Copy, Cut, and Paste Operations章节。
后来又学习了iOS开发,而且到了可以独立开发一个商业APP的能力。 但是时隔两年之后,我又回到了服务端开发方向上,也规划了将来要做架构师,将花更多时间专注在服务端方向上。...有一些一起尝试全栈的朋友,现在专注到了iOS,前端方向,做的也比较好。...如:如何存储高可用,如何MQ高可用。1w并发和10w,100w并发在负载均衡架构上有什么区别,中间件会有什么不同表现。跑着的系统如何优雅降级,如何在奔跑的汽车上换轮子。
为了在iOS中感觉舒适,你的应用虽然不必看起来跟内置的一样,但是需要对它的遵从、清晰度和深度(如欲了解更多,参见1 为iOS而设计(Design for iOS))进行整合。...为了突出某些文字或者为了在内容块之间建立视觉关联,你可以依赖由Dynamic Type支持的语义化样式,如标题、正文,你也可以指定字体权重,如细体或者半粗。...最好的与iOS整合的方式便是深刻地了解iOS的主题与核心——这一部分在上文为iOS而设计(Designing for iOS)部分中已有详细描述,并寻求出如何在你的应用中融合与表达这种主题。...想要了解如何在你的应用中提供这个功能,请参阅Quick Look....如果你一定要提供用户鲜少用到的设置项,请参考App Programming Guide for iOS中的The Setting Bundle部分来了解如何在代码中定义它们。
苹果开发程序许可协议 1.2 与您的应用程序相关联的卖方和公司名称不反映应用程序或其元数据中的金融机构,如苹果开发程序许可协议第 1.2 节所要求的。...三、换 bundle id,换一个包重新审核。 愿意换包换账号: 四、更改开发者账号,修改 icon、素材等。 五、可以做开关,修改审前页面(可大改,此方案是最容易过审的)。...App 副标题是详细介绍 app 背景信息的绝佳之处;副标题必须遵循我们的标准元数据规则,且不得包含不当内容、提及其他 app 或做出无法证实的产品声明。Apple 可能会随时修改不合适的关键词。...(向下滑动可看更多) 2.3.7 主要有以下几个原因: 1、应用程序名称不合规(侵犯其他品牌名称,如淘宝、支付宝等) 2、应用程序标题不合规(侵犯其他品牌名称、堆砌关键字等) 3、应用程序描述、市场图存在诱导行为或者错误情况...(如应用里面没有信用卡申请但是描述、截图里面却有) 这个就比较简单了,按照苹果爸爸给的标准进行修改并提交审核。
欲了解如何实现这一功能,参见《iOS应用编程指南》中的执行长时间运行的后台任务。 以下是一些示例情境,其中指示了如何选择音频会话类目以提供用户喜欢的音频体验。...为了提供用户喜欢的音频体验,iOS系统依赖于你能做到下面几点: 识别可能会引起应用中断的音频类型 当应用在音频中断结束后继续运行时进行合理地反馈 每个应用需要识别会引起音频中断的类型,但不是每个应用都需要决定如何在音频中断结束后进行反馈...3.19.4 适时处理媒体远程控制事件(Handle Media Remote Control Events, if Appropriate) 当人们使用iOS媒体控制器或辅助控制器(如耳机线控)时,应用要能响应远程控制...用户习惯于这些标准控件的外观和行为,因此他们可以理解如何在你的应用中使用它们。 不要改变事件的用途,即使这个事件在你的应用中没有意义。用户期望iOS系统的所有应用媒体控制和辅助控制能有功能上的统一。...iOS系统自动提供了“撤销”和“重做”的字符串(包括词语后面的空格)作为撤销警示按钮的标题,但你需要提供一或两个词语用于辅助描述用户的重做或撤销操作。
请概括一下你在构建iOS应用时的测试过程。iOS应用如何实现对其他语言、日期格式以及货币单位的支持? 请描述一下Instruments及其作用。...关于iOS技术 请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。 iCloud包含了哪些技术与服务? iOS扩展是指?能否列举一些热门或常见的范例?...能否描述一下如何在应用中使用Apple Pay? 请解释一下iOS应用沙盒机制。 VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能?...就你而言,你会如何在磁盘中对数组对象进行序列化? 你会如何储存用户的认证信息? 请问何为Keychain服务? 为什么移动设备上的缓存和压缩是不可或缺的?...iOS中的~属于什么目录? AirPlay是如何运行的?换做是你,你会如何通过编程提高应用的实用性以及演示效果? 传感器,IO以及WiFi、拨号等连接方式如何在iOS平台上运作?它们有何利用价值?
·是否参与过GitHub或其他同类型网站的iOS开源项目? ·请描述一下你的iOS应用开发流程。 ·是否熟知CocoaPods?它是什么?如何运行的?...关于iOS技术 ·请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。 ·iCloud包含了哪些技术与服务? ·iOS扩展是指?能否列举一些热门或常见的范例?...能否描述一下如何在应用中使用ApplePay? ·请解释一下iOS应用沙盒机制。 ·VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。开发者如何使用这些功能?...就你而言,你会如何在磁盘中对数组对象进行序列化? ·你会如何储存用户的认证信息? ·请问何为Keychain服务? ·为什么移动设备上的缓存和压缩是不可或缺的?...iOS中的~属于什么目录? ·AirPlay是如何运行的?换做是你,你会如何通过编程提高应用的实用性以及演示效果? ·传感器,IO以及WiFi、拨号等连接方式如何在iOS平台上运作?它们有何利用价值?
为了更好地了解这一领域的当前进展,美国科技博客VentureBeat采访了几位正在使用Core ML做机器翻译、对象识别和风格迁移的iOS开发者。...“问题是如何在不影响准确性的情况下,实现足够的计算速度。” 在机器学习中,神经网络是一种借鉴于人类大脑生理学原理的计算架构,它由包含节点(nodes)的层(layers)组成。...Digital Masterpieces的解决方案是发布同一模型的两个不同版本——一个用于RAM较小、处理器较弱的设备(如iPhone 6S,7和7S),另一个用于较新的设备(如iPhone 8,8S和...在iOS生态系统中工作需要“大量妥协”,王说,主要原因是iPhone的RAM无法为复杂神经网络提供太多的空间,例如,iPhone8的RAM仅为3GB。...“较小规模的开发人员即使具备专业知识,仍然没有办法使用大规模数据或者资源来进行长时间的训练。
statusBar的动态设置(换色)。...LxGridView-oc LxGridView-swift - 利用UICollectionView模仿iOS系统桌面图标的交互,作用如动图。...SBShortcutMenuSimulator - 教你如何在模拟器上测试3D Touch功能!...此库支持iOS5 .0以上版本(另外:Nav的标题滑动不明显,本人写了2个类似的控件),SloppySwiper-demo :代码方式与storyboard方式。...更赞的是额外附了详细开发教程如何在Swift中制作Tinder-Like Koloda动画网页链接 .Yalantis出品动画程序款款精品。
5.是否参与过GitHub或其他同类型网站的iOS开源项目? 6.请描述一下你的iOS应用开发流程。 7.是否熟知CocoaPods?它是什么?如何运行的?...关于iOS技术 11.请解释一下Handoff是什么,并简述它是如何实现iOS、Mac/网页应用互通的。 12.iCloud包含了哪些技术与服务? 13.iOS扩展是指?...能否描述一下如何在应用中使用Apple Pay? 17.请解释一下iOS应用沙盒机制。 18.VoiceOver是什么?请举例解释一下iOS中的辅助功能(Accessibility)。...就你而言,你会如何在磁盘中对数组对象进行序列化? 30 你会如何储存用户的认证信息? 31 请问何为Keychain服务? 32 为什么移动设备上的缓存和压缩是不可或缺的?...iOS中的~属于什么目录? 34 AirPlay是如何运行的?换做是你,你会如何通过编程提高应用的实用性以及演示效果? 35 传感器,IO以及WiFi、拨号等连接方式如何在iOS平台上运作?
API NOTE 查看Table View Programming Guide for iOS和UITableView来学习更多关于在你的代码中定义表视图的内容。...一个表视图: 在可以分章节或分组的行中显示数据 提供让用户添加或移除行、选择多个行、查看关于一行条目的更多信息或显示另一个表视图的控件 iOS定义了两种风格的表视图: 简单风格。...iOS包含一些可以扩展表视图功能的表视图元素。除非特别注明,这些元素只适合用在表视图中。 除了上面列出的表特有的元素,iOS还定义了刷新控件,让用户可以刷新表的内容。...iOS定义了四中表单元格风格,实现了简单和分组风格下表中行的大部分常规布局。每种单元格风格都最好地适应了不同类型信息的显示。...查看UITableViewHeaderFooterView Class Reference来学习如何在你的代码中使用页眉页脚视图。
这两天项目中统一对已经被iOS API废弃的UIAlertView和UIActionSheet进行替换,我们知道,UIAlertView和UIActionSheet都已经被iOS的API所废弃了。...UIAlertController是在iOS8.0中出现的一种统一的提示风格的界面,代替原来的UIAlertView和UIActionSheet两种类别。...UIAlertActionStyleCancel"); }]; [alert addAction:cancelBtn]; 1.2.2 UIAlertController上添加文本框 上面我们讲到了如何在...主要的方法有两种: 利用第三方控件 利用KVC方法进行自定义修改 2.1 利用第三方控件进行UIAlertController属性的自定义 现在Github上有着众多的Alert控件(如SCLAlertView...如果要自定义标题和内容,可以通过NSAttributedString把字体和颜色设置好,然后在通过KVC的方法进行设置,就可以了。
领取专属 10元无门槛券
手把手带您无忧上云