动态更改icon

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
动态更改icon

iOS10.3下,添加了新特性,可以动态更改icon.

UIApplication新增属性
//判断是否支持动态替换
@property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));

//根据plist配置,替换自己想要的icon
- (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));

//替换icon的时候根据该属性获取到当前被替换到显示的icon名称,例如你没换的时候就是nil,换了icon1,那么就显示icon1
@property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
替换方法

1.设置plist.在plist文件的’Icon files’(CFBundleIcons)下添加’CFBundleAlternateIcons’字段,与’Primary Icon’(CFBundlePrimaryIcon)平级.并填充icon信息.有多个就添加多个 key可以自定义,这个key是动态设置icon的唯一标识.
这里写图片描述

<key>CFBundleIcons</key>
<dict>
  <key>CFBundleAlternateIcons</key>
  <dict>
    <key>Icon1</key>
    <dict>
      <key>CFBundleIconFiles</key>
      <array>
        <string>Icon1</string>
      </array>
    </dict>
    <key>Icon2</key>
    <dict>
      <key>CFBundleIconFiles</key>
      <array>
        <string>watermark1_w</string>
      </array>
    </dict>
  </dict>
  <key>CFBundlePrimaryIcon</key>
  <dict>
    <key>CFBundleIconFiles</key>
    <array>
      <string>Icon-72</string>
    </array>
  </dict>
</dict>

2.icon图片要添加到资源中,大小没有要求,不一定是标准尺寸.
3.在需要更改icon的位置添加如下代码

    if (![[UIApplication sharedApplication] supportsAlternateIcons])
    {
        NSLog(@"不支持动态替换icon");
        return;
    }

    NSLog(@"icon not exist");
    [[UIApplication sharedApplication] setAlternateIconName:@"Icon1" completionHandler:^(NSError * _Nullable error)
    {
        if (error)
        {
          NSLog(@"%@",error);
        }
    }];

成功后系统会弹出alert提示更改图标成功.

  • 注意这里的iconName不是图片名称,而是plist中设置的单个icon的key.
  • 启动时调用此方法无效,会自动被cancle.
  • 设置为nil时恢复默认图标
Vue3中element-plus全局使用Icon图标 Vue项目中使用Element-plus的Icon图标 1、安装图标库 npm install @element-plus/icons 2、注册 main.ts文件中引入并注册 import { createApp } from 'vue' import App from './App.vue' import ElementPlus from 'element-plus' import * as ElIcons from '@element-plus/icons' const app = createA 阅读详情

相关推荐

vite中引入element-plus的icon图标

官网:Icon 图标 | Element Plus首先下载element-plus,参考:vite中引入element-plus_asdfsdgfsdgfa的博客-CSDN博客element-plus官网:Button 按钮 | Element Plus。

1654

Vue3 Element Plus 动态图标

Vue3 Element Plus 动态图标 Element Plus 中的图标以组件的形式来使用,而在基于Vue 2.x的Element UI中图标是字符串的形式,这样就导致过去的一些使用习惯不得不在使用Vue3的过程中改变,但实际上,在基于Vue3的Element Plus中也可以以字符串的形式来使用,只是需要多做一些工作。 为什么基于字符串更适合大家的使用呢?因为图标的使用有时候是动态的,比如:菜单上的图标大部分的时候是通过后台配置的,按钮上面的图标可能会因为使用者的不同而显示不同的图标,所以我们

chenhaiy的博客 1万+

vue3 vue.config.js配置Element-plus组件和Icon图标实现按需自动引入

打包时,报警告,提示包太大会影响性能。​​

黎小小的博客 8111

vue3+ElementPlus踩坑之图标icon的使用

vue3+ElementPlus踩坑之图标icon的使用在所需要的按钮里加上:icon。在单页面里引入需要使用的图标。

意初的博客 972

打包项目,动态更改标题和icon

问题描述:两套标题和icon,切换打包命令,动态更改 解决方法: 1.创建三个文件 .env(默认) VUE_APP_CLIENT_TYPE=maxcn VUE_APP_ICON=first.ico VUE_APP_TITLE=第一套标题 .env.cs VUE_APP_CLIENT_TYPE=cs VUE_APP_ICON=second.ico VUE_APP_TITLE=第二套标题 NODE_ENV=production .env.maxcn VUE_APP_CLIENT_TYPE=maxcn V

weixin_44996782的博客 1110

iOS - 让APP动态更改icon

话不多说,直接进主题,注意几点。 1. 首先我们要知道更改APP的icon, 需要添加Info.plist 中的Icon files (iOS 5) ->CFBundleAlternateIcons , 给CFBundleAlternateIcons 增加一些内容,这些内容就是你 icon 的图片名字。 2. 其次我们要知道,如果不额外处理,那么我们在更改icon 的时候系统会弹出提...

司小文的专栏 1323

Android 动态更改icon图标

一.添加别名指定主activity <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zl.myapplication"> <application android:allowBackup="true" android:icon="@.

赵雷 1739

React Native Change Icon动态更改应用图标的解决方案

React Native Change Icon动态更改应用图标的解决方案 1. 项目基础介绍及主要编程语言 React Native Change Icon 是一个开源项目,旨在为 React Native 应用提供一种动态更改应用图标的方法。该项目主要使用 Java、Ruby、Objective-C++、TypeScript、Objective-C 和 JavaScript 等编程语言开发,...

gitblog_00152的博客 585

iOS 动态更改APP(logo) icon

更改APP icon这个功能对于苹果开发人员来说只能每一次版本迭代才可以实现,但是我们有时候会发现,有好多APP在我们没有更新的情况下,就会自动改变APP的icon。 那这个功能是怎么实现的: 这个功能实现起来很简单,但是对系统版本有要求,这个功能只能在iOS 10及10以上才可以实现。其他情况下本人也用过,但是会出现闪退情况。 首先我们要在Plist文件中配置: 1、key : Icon

WangQingLei0307的博客 3682

android动态更改桌面icon和name

更改桌面的图标和名字跟Manifest中的配置脱不了关系,每写一个activity我们就要在Manifest中配置一下,特别是主入口MainActivity,下面是给Main必须要配置的,通常来说intent-filter中的这两个标志着程序在桌面的一个入口,如果你有两个activity这么配置了,那你的桌面就会出现两个图标两个入口。可以自己试试哈 android:name="androi

L_junpeng的博客 955

如何在程序里动态更改app中的icon

原理:1. activity-alias2. getApplicationContext().getPackageManager().setComponentEnabledSetting(getComponentName()|new ComponentName(getBaseContext(),"com.example.demo.TestActivity"),PackageManager.COMPO

想飞的人 757

java icon动态变换,以编程方式自动更改ImageIcon [Java]

I am making a simple game right now. When a JButton is clicked, the ImageIcon of a JLabel is supposed to change. How can I accomplish this?解决方案Simple, just quickly run setIcon() on the JLabel via the ...

weixin_39716160的博客 227

el-select添加icon阿里巴巴图标以及动态添加到value值 、icon图标颜色更改

el-select添加icon阿里巴巴图标以及动态添加到value值

xiaoming4965的博客 1545

js写的TreeView[支持动态添加,删除,更改,ICON]

我不是很喜欢asp.net里面的TreeView,好象代码太多..现在用javascript来些个和大家分享下,大概如下图使用改类的代码如下:js类:function Node(text_,value_){ /* 作者:Mark 邮箱:benymark@gmail.com blog:Http://blog.csdn.net/benymark 节点类:记录个节点的信息 */   this.text=text_;   this.value=value_;   this.imageExpand="";//展开后I

benymark的专栏 1329

如何动态更改el-step的图标状态

1.去掉案例中的finish-status: success,这是设置了步骤成功状态默认显示为绿色,去掉之后我们才能自定义。(因为忽略了finish-status的设置没找到icon不成功的原因费了好多时间,还是要多看看官方文档)这是官网的状态步骤条案例,当我们的步骤条需要进行是与否的判断状态展示时,就会需要展示这样的状态。2.自定义icon和title需要。的方式来进行属性的设置。

Jane0129的博客 3230

在Flex中动态设置icon属性

在Flex的很多组件,都有icon属性,在设计时对其设置后,在mxml代码里会产生如下代码: icon="@Embed('join.GIF')" 而在某些时候,可能需要在mx script中动态改变icon属性,这个时候显示有些麻烦,比如设置一个Panel的icon属性,Panel.icon=null是可以正确去掉Panel的i...

weixin_33858336的博客 191

vxe-表格隐藏滚动条,设置表格背景颜色,设置行内高度,暂无数据背景颜色,表头编辑icon清除,单元格具体样式

表格隐藏滚动条,设置表格背景颜色,设置行内高度,暂无数据背景颜色,表头编辑icon清除,单元格具体样式

岂不闻 1465

在flutter中动态地改变应用启动器图标

在本文中,我们将讨论如何在 Flutter 应用程序的运行时动态更改多个应用程序启动器图标。

前端全栈开发者 773

iOS 动态修改App图标(icon

动态修改app的图标,就是在不重新安装app的情况下,可以修改当前的icon图标;在某些情况下,是有这个需求的;例如,可以更换主题的app中,一般都会有一套完整的主题包含相应的icon;还有就是一些节日主题的icon或者促销的icon,例如淘宝、京东等的节日icon。 在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,主要是下面这几个方法: @interface UIAppli...

H.A.N的博客 1057
上一篇: metal 简介
下一篇: 如何优雅的对UITableView进行解耦
Philm_iOS
博客等级 码龄8年 74粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值