Swift如何在应用中添加图标更换功能

1.设置图标信息

2.添加图标文件

3.调用更换函数


一、在info.plist中设置图标信息


首先将需要更换的图标按照下面的方式声明,以便我们能够正常调用文件和方法。注意,每个图标的图标名称和对应的文件名要一一对应。



因为OneDay有10中主题,每种主题有2个主要颜色,因此在我做的过程中实际上配置信息配置了20条。


二、在工程根目录下添加图标文件


图标文件需要在根目录下添加,这样才能正常调用。注意图标的文件有2x和3x两种尺寸,分别为120x120和180x180



当然Assets中也要添加,为了方便在应用中做预览使用。



三、在使用的地方调用更换函数


最后一步其实很简单,在需要的地方调用changeIcon(iconName:String?)即可,参数为我们添加好的应用图标名称。在changeIcon(iconName:String?)中需要判断是否支持更换图标,以免出错,当然也可以根据判断提前显示或隐藏该功能。


func changeIcon(iconName:String?) {


        if #available(iOS 10.3, *) {

            if UIApplication.shared.supportsAlternateIcons {//判断设备是否支持更换图标

                print("支持更换图标!")

                //开始更换

                UIApplication.shared.setAlternateIconName(iconName, completionHandler: { (error) in


                    if error != nil {

                        print("替换icon失败\(String(describing: error?.localizedDescription))")

                    }

                })


            }else {


                print("设备不支持更换图标")

            }

        } else {

            // Fallback on earlier versions

        }

    }


最后来看看OneDay实现后的效果吧:



GitHub:OneSwift - iOS Tips Based On Swift

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值