Swift 优雅的适配大小

在日常开发中常常会对设备进行一定的适配,为了方便在多个项目里统一管理和使用,所以封装并开源了SwiftyFitsize这个库,可用于适配视图及字体大小

GitHub: SwiftyFitsize

最终的效果如下图所示

效果图

安装

使用Cocoapods安装,或手动拖入项目

pod 'SwiftyFitsize'

使用

SwiftyFitsize在默认状况下所使用的参照宽度为iphone6375 如果设计图所选用设备的宽度与默认值不同,可以在AppDelegate下初始化所参照的宽度

SwiftyFitsize.reference(width: 414)

下面列出一些设备对应的分辨率,方便查找

设备

逻辑分辨率(point)

设备分辨率(pixel)

SE

320x568

640x1136

6(S)/7/8

375x667

750x1334

6(S)+/7+/8+

414x736

1080x1920

X(S)

375x812

1125x2436

XR

414x896

828x1792

XS Max

414x896

1242x2688

使用也是非常方便的,只需要在NumberUIFontCGPointCGSizeUIEdgeInsetsMake这些类型的值后面加上~即可

100~
UIFont.systemFont(ofSize: 14)~
CGPoint(x: 10, y: 10)~
CGSize(width: 100, height: 100)~
CGRect(x: 10, y: 10, width: 100, height: 100)~
UIEdgeInsetsMake(10, 10, 10, 10)~

注:~请不要相互嵌套使用,如

CGPoint(x: 10~, y: 10~)~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WindCoder

5月14日项目小结-获取与增加html节点

需要实现类似聊天的功能,找了半天没找到满意的,只好手动用最笨的方式通过在<ul></ul>中添加<li>相关节点实现。此处代码仅作为实现思路,若是照搬不保证最终...

661
来自专栏向治洪

React 介绍及实践教程

概述 React 是近期非常热门的一个前端开发框架,其本身作为 MVC 中的 View 层可以用来构建 UI,也可以以插件的形式应用到 Web 应用非 UI 部...

2059
来自专栏电光石火

防F12扒代码:按下F12关闭当前页面

<script>   function fuckyou(){       window.close(); //关闭当前窗口(防抽)      wind...

2546
来自专栏前端人人

React第三方组件2(状态管理之Refast的使用②异步修改state)

本教程总共5篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件2(状态管理之Refast的使用①...

2753
来自专栏移动端开发

这个断点可以帮你检查布局约束

前言:     在现在iOS布局中,估计有很多很多开发者会使用到 Masonry 或者用到 SDAutoLayout 或者Storyboard或者还有Xib等等...

2209
来自专栏刘晓杰

RN实现TabNavigator

2883
来自专栏Youngxj

emlog彩色3D标签云 - 非插件

3756
来自专栏向治洪

React Native的Navigator详解

前言 之前,通过官方文档,我们对Navigator简介。 在React Native开发中,官方推荐使用Navigator作为导航指示器,在早期的版本中io...

21210
来自专栏我和未来有约会

Silverlight控件 - Carrousel

Silverlight控件 - Carrousel 简介: Carrousel是一个布局控件,可对其内部的子控件排出像《旋转木马》一样的效果。 项目地...

3486
来自专栏向治洪

React Native的Navigator详解

前言 之前,通过官方文档,我们对Navigator简介。 在React Native开发中,官方推荐使用Navigator作为导航指示器,在早期的版本中ios/...

22210

扫码关注云+社区

领取腾讯云代金券