美文网首页
#Swift版本的屏幕以及字体颜色适配

#Swift版本的屏幕以及字体颜色适配

作者: 以梦为码 | 来源:发表于2016-12-12 19:26 被阅读425次

Swift版本的屏幕以及字体颜色适配

这阵子一直在自学Swift, 因为之前iOS的开发一直用Objective-C, 所以习惯了C语言那种宏定义方式, Swift作为一款更加安全的语言, 放弃了C语言中的宏定义, 有效的防止预编译时代码宏替换的安全隐患, 但是也并非不能进行宏定义, 在这里我们可以像java一样进行全局常量的定义, 一样的方便快捷. 简单的宏通过常量设置即可, 复杂的宏就需要使用函数来返回了, 但是使用起来也会很方便, 下面我以工作中总结的一些经验,总结了一些Swift版本下4/4.7/5.5英寸屏幕适配,以及颜色适配宏:

屏幕缩放以iphone6屏幕尺寸为基础,通过设备与iphone6的比较返回一个比例,通过比例进行横向和纵向的缩放:

func Lhw_RateW() -> CGFloat{
  return (Lhw_ScreenW()/375)
}

高度适配上因为iphone4/4s不是按照之后0.8+:1的比例缩放,所以按照4寸屏一并处理(iphone4很多开发公司已经不支持兼容,我们也不作过多的考虑):

func Lhw_RateH() -> CGFloat{
var heighttmp:CGFloat = 0.0
if Lhw_ScreenH() == 480 {
    heighttmp = 568
}else{
    heighttmp = Lhw_ScreenH()
}
return heighttmp/667
}

通过输入的值返回不同的屏幕下的缩放后大小:

//W方向   
func Lhw_AdaptW(W: CGFloat) -> CGFloat {
    return W*Lhw_RateW()
}

//H方向
func Lhw_SLAdaptH(H: CGFloat) -> CGFloat {
if H == 667 && Lhw_ScreenH() == 480 {
    return 568
}else{
    return H*Lhw_RateH()
}
}

另外入如lable,textfield这些控件需要用到字体时考虑下下面的font缩放,当控件大小和字体大小一起缩放时,在一种设备上能显示完整,那么在其他设备上也都能完整显示:

func Lhw__font(fontSize:CGFloat) -> UIFont {
let fot =  UIFont.systemFont(ofSize: 12)
return  fot
}

使用:

       var logolable = UILabel.init(frame: CGRect.init(x: 0, y: Lhw_AdaptH(H: 20), width: Lhw_AdaptW(W: 82), height: Lhw_AdaptW(W: 20)))
    logolable.font=Lhw__font(fontSize: 13)

需要注意的是控件位置,大小需要考虑父控件是否缩放再考虑是否需要让子控件缩放,像系统导航栏,tabbar这个固定大小的控件作为父控件时,在其上放置子空间建议不用缩放
图片控件横向与纵向一起缩放时,图片也是不会变形的
资源地址:https://github.com/qq690658234/ios-swift-1.0/tree/master

相关文章

  • #Swift版本的屏幕以及字体颜色适配

    Swift版本的屏幕以及字体颜色适配 这阵子一直在自学Swift, 因为之前iOS的开发一直用Objective-...

  • Const文件相关内容

    屏幕适配相关 文件导入 颜色字体相关

  • iOS textView 的 placeholder、字数限制、

    更新: 已新增Swift版本! 更新 :约束适配 更新 :新增占位符颜色,字体设置 2017-12-5 如上图。...

  • ios字体适配的三种实现方法

    大家先看下IOS字体规范与多屏幕适配的规律和在不同尺寸屏幕适配的UI布局: 在项目中肯定会遇到字体适配的问题,从上...

  • 全局配置UIFont

    全局修改UIFont,根据屏幕适配字体大小

  • iOS字体大小适配的几种方法

    方法一:用宏定义适配字体大小(根据屏幕尺寸判断) //宏定义 方法二:用宏定义适配字体大小(根据屏幕尺寸判断) 1...

  • 暗黑模式适配

    适配点 不同模式的适配主要涉及颜色和图片两个方面的适配 其中颜色适配包括相关背景色和字体颜色 相关API 各种枚举...

  • 开始一个新项目要注意什么

    新项目:(MVC--MVVM--RAC) 字体 --》XIB --》纯代码(2套) 颜色 宏定义屏幕宽高 系统版本...

  • 快速屏幕适配,字体适配

    注:宽高比 根据公司设计给的苹果几的尺寸,比如下面6 尺寸 // 获取宽度比例 define kScreenWid...

  • iOS字体适配

    随着iPhone机型种类的增加,iOS的小开发仔们各种机型的屏幕适配,字体适配是否困扰着你呢?我们都知道屏幕适配有...

网友评论

      本文标题:#Swift版本的屏幕以及字体颜色适配

      本文链接:https://www.haomeiwen.com/subject/goymmttx.html