FSA全栈行动 FSA全栈行动
首页
  • 移动端文章

    • Android
    • iOS
    • Flutter
  • 学习笔记

    • 《Kotlin快速入门进阶》笔记
    • 《Flutter从入门到实战》笔记
    • 《Flutter复习》笔记
前端
后端
  • 学习笔记

    • 《深入浅出设计模式Java版》笔记
  • 逆向
  • 分类
  • 标签
  • 归档
  • LinXunFeng
  • GitLqr

公众号:FSA全栈行动

记录学习过程中的知识
首页
  • 移动端文章

    • Android
    • iOS
    • Flutter
  • 学习笔记

    • 《Kotlin快速入门进阶》笔记
    • 《Flutter从入门到实战》笔记
    • 《Flutter复习》笔记
前端
后端
  • 学习笔记

    • 《深入浅出设计模式Java版》笔记
  • 逆向
  • 分类
  • 标签
  • 归档
  • LinXunFeng
  • GitLqr
  • AndroidUI

  • Android第三方SDK

  • Android混淆

  • Android仓库

  • Android新闻

  • Android系统开发

  • Android源码

  • Android注解AOP

  • Android脚本

  • AndroidTv开发

  • AndroidNDK

  • Android音视频

  • Android热修复

  • Android性能优化

  • Android云游戏

  • Android插件化

  • iOSUI

  • iOS工具

  • iOS底层原理与应用

  • iOS组件化

  • iOS音视频

  • iOS疑难杂症

  • iOS之Swift

  • iOS之RxSwift

  • iOS开源项目

    • iOS - Swift3.0 高仿喜马拉雅FM
    • iOS - Swift 高仿微信
    • iOS - 面向协议方式封装空白页功能
    • iOS - 打造Moya便捷解析库,提供RxSwift拓展
    • iOS - 面向协议封装全屏旋转功能
    • Swift - 优雅的适配大小
      • 安装
      • 使用
    • Swift - 掌控Moya的网络请求、数据解析与缓存
    • ReactorKit + RxDataSources列表多次刷新的解决方案
  • iOS逆向

  • Flutter开发

  • 移动端
  • iOS开源项目
LinXunFeng
2018-10-24
目录

Swift - 优雅的适配大小

欢迎关注微信公众号:[FSA全栈行动 👋]

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

GitHub: SwiftyFitsize (opens new window)

最终的效果如下图所示

效果图

# 安装

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

pod 'SwiftyFitsize'

# 使用

SwiftyFitsize在默认状况下所使用的参照宽度为iphone6的375 如果设计图所选用设备的宽度与默认值不同,可以在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

使用也是非常方便的,只需要在Number、UIFont、CGPoint、CGSize、UIEdgeInsetsMake这些类型的值后面加上~即可

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)~
# xib / storyboard 字体适配

支持控件 UILabel UIButton UITextView UITextField

xib-font

# xib / storyboard 约束适配

xib-font

#

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

CGPoint(x: 10~, y: 10~)~
#iOS#Swift
iOS - 面向协议封装全屏旋转功能
Swift - 掌控Moya的网络请求、数据解析与缓存

← iOS - 面向协议封装全屏旋转功能 Swift - 掌控Moya的网络请求、数据解析与缓存→

最近更新
01
Flutter - Xcode16 还原编译速度
04-05
02
AI - 免费的 Cursor 平替方案
03-30
03
Android - 2025年安卓真的闭源了吗
03-28
更多文章>
Theme by Vdoing | Copyright © 2020-2025 FSA全栈行动
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×