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

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

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

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

图标文件需要在根目录下添加,这样才能正常调用。注意图标的文件有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
        }
    }

 https://github.com/bjdehang/OneSwift/blob/master/5.%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BA%94%E7%94%A8%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%9B%BE%E6%A0%87%E6%9B%B4%E6%8D%A2%E5%8A%9F%E8%83%BD.md

原文地址:https://www.cnblogs.com/zhw511006/p/8458180.html

时间: 2024-11-07 04:08:53

iOS如何在应用中添加图标更换功能的相关文章

iOS:在UITextField中添加图标

//最左侧加图片是以下代码 右侧类似 UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"comment_write"]]; _textField.leftView = imgView; _textField.leftViewMode = UITextFieldViewModeAlways;

向Ubuntu的Dash中添加图标

首先准备.xpm图标文件,如果程序文件夹中没有,那么可以根据自己喜好到网上下载喜欢的图标,不要太大,然后将其改为.xpm文件(直接改了后缀名就行).然后打开/usr/share/applications/目录,可以看到里面有很多.desktop文件,我们要做的事情就是建立自己的.desktop文件(以eclipse应用程序为例). 1.建立eclipse.desktop文件,执行命令: sudo gedit /usr/share/applicastions/eclipse.desktop 2.在

5、CRM2011编程实战——在CRM中添加修改密码功能

需求:登录CRM2011的用户,让其可以自己修改密码. 解决方案:新建一个自定义页面,为其提供修改域账号功能.第一步:获取当前域账号,第二步:修改当前域账号密码. 新建aspx页面ResetUserPassword.aspx,前台代码如下: <%@Page Language="C#" AutoEventWireup="true" CodeBehind="ResetUserPassword.aspx.cs" Inherits="Hu

Web开发从零单排之二:在自制电子请帖中添加留言板功能,SAE+PHP+MySql

在上一篇博客中介绍怎样在SAE平台搭建一个html5的电子请帖网站,收到很多反馈,也有很多人送上婚礼的祝福,十分感谢! web开发从零学起,记录自己学习过程,各种前端大神们可以绕道不要围观啦 大婚将至,各种事情很多,今天终于驱动自己把上次遗留的内容补充完 奉上在电子请帖中添加留言板的功能简介,采用php脚本语言和mysql数据库,同样在新浪的SAE平台下,可以节省很多部署和维护工作 在SAE的个人项目管理界面,从MySql页面点击"管理MySql",进入SAE提供的mysql数据库管理

IOS之导航栏中添加UITextView控件bug

今天遇到一个奇怪的问题,如下: 在导航栏控制器的rootviewcontroller中,添加了一个UITextView控件,代码如下: - (void)viewDidLoad { [super viewDidLoad]; self.title =@"Test"; UITextView *textview = [[UITextViewalloc]init]; textview.frame = CGRectMake(10, 100, 300, 200); textview.backgrou

从0开始学习Swift开发IOS应用(2)——为app添加图标

选择项目中自带的Images.xcassets文件夹,在Applcon中拖动图标放置前三个即可,选择适应的大小就行了.附图一张!! 从项目的最开始做起,从0到1的过程,跟大家分享我自己学习的过程!大家不要嫌弃,哈哈!

在App中添加微信分享功能

随着微信平台运用越来越普遍,在app中往往需要将看到的消息发送给微信好友,分享到朋友圈,因此就需要添加微信分享的功能.我们可以通过微信的开发者平台上的相关文档来实现这个简单的功能. 1.在微信开发者平台注册应用程序的id,通过审核后可以获得一个appid 2.有了appID后下载最新的微信终端sdk文件,SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h 这三个.资料下载页面: https://open.weixin.qq.com/cgi-bin/showd

IOS开展:导航中添加多个button并加入左侧logo

添加多个button,同样只能加入一个 UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"register", nil) style:UIBarButtonItemStylePlain target:self action:@selector(registerClick:)]; UIBarButtonItem *anotherButton2 = [[UI

ios如何在一个控制器中添加另一个控制器

最近的项目由于项目需要,涉及过多次在当前控制器上添加另一个控制器的View问题.这里做个笔记,为了方便,当前视图控制器记为控制器1,添加的视图记为控制器2 第一种情况: 1.首先,因为控制器2的视图上有需要与用户交互的需求,所以一定要设置2为1的子控制器 ViewController *vc2 = [[ViewController alloc]init];      [self addChildViewController:vc2]; ps:当有多个子视图时还可能用到,子控制器的removeFr