You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Device Activity Report中应用图标的放大显示?

解决Screen Time应用图标放大模糊的问题

直接使用Label(applicationToken)获取的图标是系统默认的小尺寸资源,强行缩放必然导致画质损失。正确的做法是通过ApplicationToken提供的applicationIcon(for:)方法直接获取指定尺寸的高清图标:

  • 调用applicationIcon(for:)方法时传入需要的图标尺寸,系统会返回对应大小的高清资源
  • 无需依赖Label的图标组件,直接使用获取到的Image视图即可

修改后的代码如下:

@ViewBuilder
private func appIcon(for applicationToken: ApplicationToken?) -> some View {
    if let applicationToken,
       let iconImage = applicationToken.applicationIcon(for: CGSize(width: 50, height: 50)) {
        Image(uiImage: iconImage)
            .resizable()
            .frame(width: 50, height: 50)
            .cornerRadius(10) // 可选:匹配系统图标的圆角样式
    }
}

补充说明

  • applicationIcon(for:)会根据传入的尺寸返回最优的图标资源,从根源避免缩放模糊问题
  • 可根据需求调整CGSize的数值,比如设置为60x60实现更大的图标
  • 不需要自定义LabelStyle,直接使用原生方法获取的图标就能达到WWDC视频中的大尺寸效果

内容的提问来源于stack exchange,提问作者Evgeny Mitko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:35:19