Swift简单快速的动态更换app图标AppIcon方法示例

 更新时间:2023年06月12日 11:30:54   作者:山水域  
这篇文章主要为大家介绍了Swift动态更换app图标AppIcon的简单快速方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

关键方法

  • 获取到当前AppIcon的名称
 // 获取到当前AppIcon的名称
let iconName = UIApplication.shared.alternateIconName 
  • 是否支持切换APPIcon图
 // 是否支持切换APPIcon图
if UIApplication.shared.supportsAlternateIcons {
}
  • 切换APPIcon图方法
 // 切换APPIcon图方法 参数填写是AppIcon的名称(Assets 中的图片名称)
        UIApplication.shared.setAlternateIconName("AppIcon 1") { err in
            if err == nil {
                //成功了,跳转到成功报告页
            }
        }

具体代码及UI

页面UI例图

class MCAppIconVC: UIViewController {
    var selectInt = 1
    override func viewDidLoad() {
        super.viewDidLoad()
        // 获取到当前AppIcon的名称
        let iconName = UIApplication.shared.alternateIconName 
        if let tagStr = iconName?.replacingOccurrences(of: "AppIcon ", with: "") {// 因为我设置的APPIcon名称是"AppIcon 1", "AppIcon 2"等 这样可以获取后面的数字 布局UI
            let tag = Int(tagStr) ?? 1
            for i in 11...14 {
                if let imageView = self.view.viewWithTag(i) as? UIImageView {// 所有按钮设置未未选中
                    imageView.image = UIImage(named: "btn_normal_icon")
                }
            }
            if let imageView = self.view.viewWithTag(10+tag) as? UIImageView {// 设置选中的UI
                imageView.image = UIImage(named: "btn_npresses_icon")
            }
            selectInt = tag // 记录当前选中的是哪个
        }
        // Do any additional setup after loading the view.
    }
   //    @IBAction func tapGesture(_ sender: UITapGestureRecognizer) {
//        let tag = sender.view?.tag ?? 1
//        for i in 11...14 {
//            if let imageView = self.view.viewWithTag(i) as? UIImageView {
//                imageView.image = UIImage(named: "btn_normal_icon")
//            }
//            if let view = self.view.viewWithTag(i-10) {
//                view.layer.cornerRadius = 16
//                view.layer.masksToBounds = true
//                view.layer.borderColor = UIColor.white.cgColor
//                view.layer.borderWidth = 2
//            }
//        }
//        if let imageView = self.view.viewWithTag(10+tag) as? UIImageView {
//            imageView.image = UIImage(named: "btn_npresses_icon")
//        }
//        if let view = self.view.viewWithTag(tag) {
//            view.layer.cornerRadius = 16
//            view.layer.masksToBounds = true
//            view.layer.borderColor = UIColor(named: "ThemeYellow")?.cgColor
//            view.layer.borderWidth = 2
//        }
//        selectInt = tag
//    }
    @IBAction func setupBtnAction(_ sender: UIButton) { //点击下面的按钮
        if UIApplication.shared.supportsAlternateIcons { //是否支持切换APPIcon图
            if let iconName = UIApplication.shared.alternateIconName, iconName != "AppIcon \(selectInt)" {
                UIApplication.shared.setAlternateIconName("AppIcon \(selectInt)") { err in
                    if let err = err {
                    }else {
                        //成功了,跳转到成功报告页
                    }
                }
            }else if UIApplication.shared.alternateIconName == nil, selectInt != 1 {
                UIApplication.shared.setAlternateIconName("AppIcon \(selectInt)") { err in
                    if let err = err {
                    }else {
                         //成功了,跳转到成功报告页
                    }
                }
            }
        }
    }
}

Assets 图片设置 APPIcon名称与上面的要一致

AppIcon 文件配置

以上就是Swift简单快速的动态更换app图标AppIcon方法示例的详细内容,更多关于Swift 动态更换app图标-AppIcon的资料请关注脚本之家其它相关文章!

相关文章

  • swift 3.0 正则表达式查找/替换字符的实现代码

    swift 3.0 正则表达式查找/替换字符的实现代码

    正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。本文重点给大家介绍swift 3.0 正则表达式查找/替换字符的实现代码,需要的朋友参考下吧
    2017-08-08
  • Swift使用SnapKit模仿Kingfisher第三方扩展优化

    Swift使用SnapKit模仿Kingfisher第三方扩展优化

    这篇文章主要为大家介绍了Swift SnapKit模仿Kingfisher第三方扩展优化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Swift reduce函数使用示例详解

    Swift reduce函数使用示例详解

    这篇文章主要为大家介绍了Swift reduce函数使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 纯swift实现ipad版简单美团界面功能

    纯swift实现ipad版简单美团界面功能

    这篇文章主要为大家详细介绍了纯swift实现ipad版简单美团界面功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 详解Swift编程中的常量和变量

    详解Swift编程中的常量和变量

    这篇文章主要介绍了Swift编程中的常量和变量,是Swift入门学习中的基础知识,需要的朋友可以参考下
    2015-11-11
  • Swift操作Quartz 2D进行简单的绘图与坐标变换的教程

    Swift操作Quartz 2D进行简单的绘图与坐标变换的教程

    这篇文章主要介绍了Swift操作Quartz 2D进行简单的绘图与坐标变换的教程,Quartz 2D是Core Graphics框架中的一个重要组件,经常被Mac OS或和iOS开发者用来绘图,需要的朋友可以参考下
    2016-04-04
  • swift5.3 UIColor使用十六进制颜色的方法实例

    swift5.3 UIColor使用十六进制颜色的方法实例

    这篇文章主要给大家介绍了关于swift5.3 UIColor使用十六进制颜色的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 10个惊艳的Swift单行代码

    10个惊艳的Swift单行代码

    这篇文章主要为大家分享了10个惊艳的Swift单行代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Swift实现简单计算器

    Swift实现简单计算器

    这篇文章主要为大家详细介绍了Swift实现简单计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Swift代码实现冒泡排序算法的简单实例

    Swift代码实现冒泡排序算法的简单实例

    冒牌排序可谓最基本的排序算法之一,稳定而没有优化空间:D 下面就一起来看一下Swift代码实现冒泡排序算法的简单实例:
    2016-06-06

最新评论