美文网首页
iOS13 暗黑模式(Dark Mode)适配

iOS13 暗黑模式(Dark Mode)适配

作者: iVikings | 来源:发表于2020-03-25 15:03 被阅读0次
  • 获取当前模式 (Light or Dark)
    • 通过 UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark 进行判断

    • 示例 - Objective-C

      if (@available(iOS 13.0, *)) {
          if (UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
            // dark mode
          }
          else {
            // light mode
          }
      }
      
    • 示例 - Swift

      if #available(iOS 13.0, *) {
          if UITraitCollection.current.userInterfaceStyle == UIUserInterfaceStyle.dark {
              // dark mode
          }
          else {
              // light mode
          }
      }
      

  • 自定义动态 UIColor
    extension UIColor {
    
      @objc static func wb_dynamicProvider(lightColor: UIColor, darkColor: UIColor) -> UIColor {
          if #available(iOS 13.0, *) {
              let color: UIColor = UIColor.init { (traitCollection: UITraitCollection) -> UIColor in
                  if traitCollection.userInterfaceStyle == UIUserInterfaceStyle.dark {
                      return darkColor
                  }
                  return lightColor
              }
              return color
          } else {
              return lightColor
          }
      }
    }
    

  • 适配 UIActivityIndicatorView Style
      extension UIActivityIndicatorView {
      @objc static func wb_largeStyle() -> Style {
          if #available(iOS 13.0, *) {
              return Style.large
          } else {
              return Style.whiteLarge
          }
      }
      
      @objc static func wb_mediumStyle() -> Style {
          if #available(iOS 13.0, *) {
              return Style.medium
          } else {
              return Style.gray
          }
      }
    }
    

  • 适配 UIBlurEffectStyle
    - (UIBlurEffectStyle)wb_blurEffectStyle {
      UIBlurEffectStyle style;
      #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000
          if (@available(iOS 13.0, *)) {
              if (UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
                  style = UIBlurEffectStyleSystemThinMaterialDark;
              }
              else {
                  style = UIBlurEffectStyleSystemThinMaterialLight;
              }
          } else
      #endif
          {
      #if __IPHONE_OS_VERSION_MIN_REQUIRED < 130000
              style = UIBlurEffectStyleExtraLight;
      #endif
          }
      return style;
    }
    

相关文章

  • 自己适配iOS13解决的问题总结

    自己适配iOS13解决的问题总结 1.暗黑模式Dark Mode iOS 13 推出暗黑模式,UIView默认背景...

  • UITraitCollection详解

    最近在适配iOS13 有个Dark Mode的暗黑模式, 为了适配这个模式不得不在UIView和UIViewCon...

  • UITraitCollection详解

    收录:原文地址 先说问题 最近在适配iOS13 有个Dark Mode的暗黑模式, 为了适配这个模式不得不在UIV...

  • iOS13新特性

    Dark Mode 暗黑模式 Dark Mode样式image.png UIColor拥有了动态属性 iOS13之...

  • 2019-09-20

    收录可以用到的东西iOS新闻应用源码,高仿今日头条源码等iOS13 暗黑模式(Dark Mode)适配之OC版高仿...

  • iOS 13 适配要点总结

    1. 暗黑模式Dark Mode 如果不打算适配 Dark Mode,可以直接在Info.plist中添加一栏:U...

  • iOS13适配(更新中)

    对于iOS13适配汇总以及遇到的问题 Dark Model iOS 13推出了暗黑模式Dark Model,UIK...

  • iOS13 暗黑模式(Dark Mode)适配

    获取当前模式 (Light or Dark)通过 UITraitCollection.currentTraitCo...

  • iOS13适配暗黑模式(Dark Mode)

    暗黑模式简介不赘述,直接写用法。 苹果官方使用链接入口 暗黑模式的原理 其实就是将原本的资源文件,创建出两种模式,...

  • iOS13 暗黑模式(Dark Mode)适配(oc)

    目录 1.适配暗黑模式(Dark Mode)1.1颜色适配* 系统动态颜色** 自定义动态UIColor(代码自定...

网友评论

      本文标题:iOS13 暗黑模式(Dark Mode)适配

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