美文网首页
iOS 字体适配

iOS 字体适配

作者: 焦焦丶 | 来源:发表于2017-06-19 11:30 被阅读387次

在日常开发中,相信很多小伙伴都有遇到过不同机型字体适配的需求,那么今天我将分享给大家如何通过自定义一个宏来解决所有不同尺寸大小的机型适配问题


AppDelegate.h 里面:

#import <UIKit/UIKit.h>
@interface AppDelegate :UIResponder
@property(strong,nonatomic)UIWindow *window;
-(CGFloat)fontSizeScale:(CGFloat)scale;
@end

AppDelegate.m 里面:

#import "AppDelegate.h"
@interface AppDelegate ()
// 字体的缩放比例
@property(nonatomic,assign)CGFloat fontSize;
@end

以 iPhone7 屏幕尺寸为基础系数,来设置其他屏幕字体的缩放比例

- (void)fontSizeScale{

  if (iPhone7P) { // iPhone7P上的字体尺寸
    
      self.fontSize = 1.1;
   } else if(iPhone7) { // iPhone7上的字体尺寸
    
      self.fontSize = 1.0;
    } else if(iPhoneSE) { // iPhoneSE上的字体尺寸
    
      self.fontSize = 0.9;
    }  else if(iPhone4s) { // iPhone4s上的字体尺寸
    
      self.fontSize = 0.7;
    } else { // 其他设备上的字体尺寸
    
      self.fontSize = 1.5;
    }

}

- (CGFloat)fontSizeScale:(CGFloat)scale {

   return scale * self.fontSize;
}

程序启动时的方法里面调用

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

   // 自适应不同屏幕尺寸的字体大小
   [self fontSizeScale];

   return YES;
}

在.pch文件里面自定义一个宏来调用

#import "AppDelegate.h"

// 自适应字体大小
#define fontSizeScale(size) [(AppDelegate *)[UIApplication sharedApplication].delegate fontSizeScale:size]
/*********** 常用字体大小 ************/
#define DRFont(size) [UIFont systemFontOfSize:fontSizeScale(size)]
/*********** 常用粗体大小 ************/
#define DRBoldFont(size) [UIFont boldSystemFontOfSize:fontSizeScale(size)]

写代码的时候设置字体大小一律用 DRFont(size) 和 DRBoldFont(size)


最后附上不同屏幕尺寸机型判断的宏

/*********** 屏幕宽高 ************/
#define SCREEN_WIDTH    [[UIScreen mainScreen] bounds].size.width
#define SCREEN_HEIGHT   [[UIScreen mainScreen] bounds].size.height

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_RETINA ([[UIScreen mainScreen] scale] >= 2.0)

#define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))
#define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))
/*********** 机型判断 ************/
#define iPhone4s (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define iPhoneSE (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define iPhone7 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define iPhone7P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)

对照着上面的操作一步步下来,就可以完美解决屏幕字体适配问题了😁

相关文章

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

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

  • iOS9适配系列教程

    iOS9适配系列教程另外在补充下:ios9下的字体默认情况下要比ios9之前的字体大,所以在适配和使用autoLa...

  • 2018-11-28

    iOS字体大小适配的几种方法 - 简书

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

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

  • iOS字体适配的几种方法总结

    在iOS开发中,有些公司对字体也有适配要求,为了让字体美观,所以在不同尺寸的屏幕上字体大小也要做到适配。 自己总结...

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

    在iOS开发中,有些公司对字体也有适配要求,为了让字体美观,所以在不同尺寸的屏幕上字体大小也要做到适配。自己总结了...

  • iOS字体大小适配

    在iOS开发中,有些公司对字体也有适配要求,为了让字体美观,所以在不同尺寸的屏幕上字体大小也要做到适配。自己总结了...

  • iOS字体适配

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

  • iOS 字体适配

    修改时间: 2016-12-05修改次数: 0 其实我的适配很简单的,根据屏幕宽度来设置的,只适配了,4寸,4.7...

  • iOS 字体适配

    在日常开发中,相信很多小伙伴都有遇到过不同机型字体适配的需求,那么今天我将分享给大家如何通过自定义一个宏来解决所有...

网友评论

      本文标题:iOS 字体适配

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