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中动态调用实例方法介绍

    Swift中动态调用实例方法介绍

    这篇文章主要介绍了Swift中动态调用实例方法介绍,在Swift中有一类很有意思的写法,可以让我们不直接使用实例来调用这个实例上的方法,而是通过类型取出这个类型的某个实例方法的签名,然后再通过传递实例来拿到实际需要调用的方法,需要的朋友可以参考下
    2015-01-01
  • 简单分析Swift语言的一些基本特征

    简单分析Swift语言的一些基本特征

    这篇文章主要介绍了Swift语言的一些基本特征,本文从各语言最基础的类与对象等方面来讲,需要的朋友可以参考下
    2015-07-07
  • 深入浅出的聊聊Swift高阶函数

    深入浅出的聊聊Swift高阶函数

    函数式编程就是高阶函数编程的应用,所以要熟练掌握基础的高阶函数是必须的filter、map、reduce、flatmap就是必备的高阶函数,这篇文章主要给大家介绍了关于Swift高阶函数的相关资料,需要的朋友可以参考下
    2021-09-09
  • swift中可选值?和!使用的方法示例

    swift中可选值?和!使用的方法示例

    这篇文章主要给大家介绍了关于swift中可选值?和!使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • Swift中类与结构的初始化示例解析

    Swift中类与结构的初始化示例解析

    这篇文章主要为大家介绍了Swift中类与结构的初始化解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • swift中defer的实际应用小结

    swift中defer的实际应用小结

    这篇文章主要给大家介绍了关于swift中defer的实际应用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Swift绘制渐变色的方法

    Swift绘制渐变色的方法

    这篇文章主要为大家详细介绍了Swift绘制渐变色的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • RxSwift实现替换delegate的方法示例

    RxSwift实现替换delegate的方法示例

    这篇文章主要给大家介绍了关于RxSwift实现替换delegate的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用RxSwift具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Swift reduce函数使用示例详解

    Swift reduce函数使用示例详解

    这篇文章主要为大家介绍了Swift reduce函数使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Swift之UITabBarController 导航控制器的自定义

    Swift之UITabBarController 导航控制器的自定义

    本文给大家介绍swift导航控制器之UITabBarController,本文通过代码实例给大家讲解swift导航控制器,导航控制器类继承UITabBarController,代码简单易懂,需要的朋友可以参考下
    2015-10-10

最新评论