首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何在 SwiftUI 视图中显示应用图标和版本

在本文中,我将展示如何创建一个可访问 SwiftUI 视图,既能显示应用图标和版本,又能在各种文本大小和外观下看起来都很好:获取应用图标构建视图第一步是主包获取应用图标。...可以通过检索应用 Info.plist 文件一组键值来完成,如 Stack Overflow 上这个答案所示:AppIconProvider.swiftimport Foundationenum...我们检索 CFBundlePrimaryIcon 字典 CFBundleIconFiles 键值。这是一个包含应用图标文件名数组。这些文件名可用于创建命名 UIImage。...这对于用户(无论是内部测试人员还是外部用户)来说,是一种快速识别应用版本和变体有效方法。我们通过从主包检索 Info.plist 文件相关键值,获取应用图标。...接着,我们采用类似的方法,通过读取 Info.plist 文件 CFBundleShortVersionString 键值,获取应用版本信息。

7100

对iOS应用文本进行本地化

本文中,我们将探讨iOS开发,如何实现显示文本本地化工作。本文Demo[2]采用SwiftUI编写。...系统在编译代码时候,将可以进行本地化操作文本进行了标记,当app运行在不同语言环境(比如法文)时,系统会尝试尽量法语文本键值对文件查找出对应内容进行替换,如果找不到则会按照语言偏好列表顺序继续查找...更多关于info.plist参数内容请查看官方文档[6] 实战4:本地化饮品名称 在Localizable(Chinese)字符串文件添加如下内容 "Orange Juice" = "橙汁";"Tea...上面的方法在绝大多数情况下都是很好解决问题手段,但并不适合完全依赖Export Localizations...生成用于本地化键值对项目。....stringsdict最初是为了解决复数问题而提出,不过这几年又陆续增加了针对不同数值显示不同文本(通常用于屏幕尺寸变化),以及针对特定平台(iphone、ipad、mac、tvos)显示对应文本等功能

2.1K20

AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架视频流App构建

由于呈现超出状态栏和主页指示器视频播放器看起来更好,因此您添加了此修饰符。 5) 一旦视频播放器出现在屏幕上,您就可以调用 play() 来启动视频。 这就是全部! 构建并运行以查看它外观。...这包括一个播放按钮、一个静音按钮和用于前进和后退 15 秒跳过按钮。 2. Adding Remote Playback 那很容易,对吧? 如何远程 URL 添加视频播放? 那一定要难很多!...对于每一项,您: 1) 每个视频剪辑对象 URL 创建一个 AVURLAsset。 2) 然后,您使用播放器可用于控制播放asset创建一个 AVPlayerItem。...,以说明当视图在屏幕上时音量和速率变化。...注意:画中画可能不适用于模拟器。 尝试在设备上运行。

6.9K10

架构之路 (五) —— VIPER架构模式(一)

在此过程,您还将了解您iOS项目中SwiftUI和Combine。 打开启动项目。这包括一些代码,让你开始: 当你构建其他视图时,ContentView会启动它们。...在Data Sources组,有用于保存或加载数据辅助函数。 如果您喜欢在WaypointModule组查看前面的内容。它有一个Waypoint编辑屏幕VIPER实现。...路由器Router处理屏幕之间导航。这与SwiftUI不同,在SwiftUI,视图显示任何新视图。...由于演示者presenter工作是用数据填充视图,所以您希望数据模型公开旅程trips列表。...Creating a View with a Presenter SwiftUI视图模板创建一个新文件,并将其命名为TripListView.swift。

17.4K10

Flutter 120hz 高刷新率在 Android 和 iOS 上调研总结

二、Android 前面介绍里引用了一加 LTPO 2.0 实现是有原因,首先知道自适应屏幕刷新率是 OEM 厂商自主调教,也就是理论上作为 App 是不需要做任何适配,因为跟随 Android 就行...所以基于这个问题修复方案,社区内提出了 flutter_displaymode 插件,插件主要提供了获取 Display.Mode 和设置 preferredDisplayModeId 支持,用于临时解决类似...,对于这些刷新率变化 App 而无需进行任何更改: UIKit SwiftUI SpriteKit CAAnimation 但是对于 Flutter 而言并没用使用系统所提供原生控件,所以目前需要在...Info.plist 文件配置以下参数,从而启用关于 CADisplayLink 和 CAAnimation 上高于 120Hz 相关支持: CADisableMinimumFrameDurationOnPhone...; 在 iOS 15 及更高版本上,还增加了设置帧率范围,其中 preferred 和 max 均为屏幕支持最大值,min 为最大值 1/2; 其实在之前讨论还有如 #29692 这种更灵活实现

2.3K30

老司机 iOS 周报 #98 | 2020-01-06

同时本文也基本原理、2.0 版本新特性、性能优化这三个方面介绍了下 Alita。感兴趣同学可以进一步关注学习下。 新手推荐 ?...手淘架构组最新实践 | iOS基于静态库插桩⼆进制重排启动优化 @satanwoo:启动优化是个老生常谈问题了,但相关优化涉及技术却总是停滞不前。...通常我们做 DNS 优化想要达到目的有以下 3 个: 降低 DNS 解析带来延迟 预防 DNS 劫持 IP 做到服务器动态部署 其中,“降低 DNS 解析带来延迟” 在 HTTP 2.0...可以说这一年他在技术上学习以及输出都是非常高,很值得同行学习。关于他公众号,有兴趣朋友可以 2019 年文章汇总这篇文章详细了解。 ?...可以快速给现有应用添加 Flutter 能力,全程体验顺滑如丝。

81710

StateObject 与 ObservedObject

StateObject 是在 SwiftUI 2.0 添加属性包装器,它出现解决了在某些情况下使用 ObservedObject 视图会出现超预期问题。...( 例如依赖注入 )对该实例 body 属性求值渲染视图 SwiftUI 角度来说,视图是对应着屏幕上某个区域一段数据,它是通过调用某个根据描述该区域声明所创建实例 body 属性计算而来...视图生存期其被加载到视图树时开始,至其被视图树上移走结束。在视图存续期中,视图值将根据 source of truth ( 各种依赖源 )变化而不断变化。...一方面它方便开发者将一些通用逻辑统一封装起来,作用于给定数据之上,另一方面如果开发者对某个属性包装器用途不甚了解,那么就可能会出现看到和实际上不一致情况( 理解偏差 )。...在 SwiftUI 将视图添加到视图树上时,调用 _makeProperty 方法将需要持有的订阅关系、强引用等信息保存到 SwiftUI 内部数据池中。

2.4K20

GeometryReader :好东西还是坏东西?

官方文档“定义其内容( defines its content )”这一表述容易让人误以为 GeometryReader 主要功能是主动影响子视图,或者说其获取几何信息主要用于子视图,但实际上,...因为在某些系统版本 background 传递数据无法被 onPreferenceChange 获取到。...请阅读 用 SwiftUI 方式进行布局[9] 和 在 SwiftUI 实现视图居中若干种方法[10] 两篇文章,以了解面对同一个需求,SwiftUI 有多种布局手段。...,因此在 WWDC 2023 ,苹果为 SwiftUI 添加了一个新 modifier:visualEffect[12]。...然而,毫无疑问,GeometryReader 仍是 SwiftUI 中一个重要工具。开发者需要正确地将其应用于适当场景。

45670

SwiftUI 中用 Text 实现图文混排

王巍在 SwiftUI Text 插值和本地化[3] 一文对此做了详尽介绍。...请注意:第二个 Text 插值元素开始,必须在插值符号 \( 前添加一个空格,否则会出现显示异常( 这是一个持续了多个版本 Bug )。...上文中介绍两种方法均适用于将 SF Symbols 添加到 Text :let bug = Image(systemName: "ladybug.fill") // 由于 symbolVariant...动态类型( Dynamic Type )功能允许使用者在设备端设置屏幕上显示文本内容大小。它可以帮助那些需要较大文本以提高可读性用户,还能满足那些可以阅读较小文字的人,让更多信息出现在屏幕上。...DynamicType Xcode 14 开始,开发者可以在预览快速检查视图在不同动态类型下表现。Text("欢迎访问 \(logo) !")

4.2K30

跟着官方文档学习3D Touch

我们在Info.plist文件定义静态快捷操作项顺序(数组字典先后顺序)也就是静态快捷操作项在屏幕上显示顺序(默认第一个显示在最下面,也就是这些快捷操作项在屏幕上自下向上排列)。...系统会优先加载Info.plist配置快捷操作项,只有在Info.plist定义静态快捷操作项不够4个时候,才会去加载动态快捷操作项。...---- 如下屏幕截图显示了如何在Info.plist文件定义两个静态快捷操作项: ?...Info.plist添加名为UIApplicationShortCutItemsKey.png // delegate.m文件实现以下方法 // 作用:点击3Dtouch菜单上某个item跳转到指定界面...程序优先加载Info.plist文件定义静态快捷操作项,如果Info.plist静态快捷操作项不足4个才会去加载代码定义动态快捷操作项(前提是代码定义了动态快捷操作项)来补充剩余插槽。

6.3K50

【visionOS】从零开始创建第一个visionOS程序

将你应用扩展到沉浸式空间 熟悉基于窗口体验开始,向人们介绍您内容。从那里,添加特定于visionOSSwiftUI场景类型,如卷和空间。...在任何SwiftUI应用,你都可以使用场景将内容放到屏幕上。场景包含要在屏幕上显示视图和控件。场景还定义了这些视图和控件出现在屏幕上时外观。...你也可以添加一个沉浸式场景,将你内容放置在人物周围环境。 当你想要创建3D资产或场景应用程序显示时,包括一个现实作曲家专业项目文件。...显示动态3D场景使用RealityKitin页面链接 RealityKit是苹果公司用于创建3D模型和场景技术,你可以在屏幕上动态更新。...要显示您ImmersiveSpace场景,请使用openImmersiveSpace操作打开它,该操作SwiftUI环境获得。此操作异步运行,并使用提供信息来查找和初始化场景。

70540

使用HSB而不是RGB来定义颜色

每个属性可以是 0 到 255 之间十进制值,但通常以十六进制格式给出,因此颜色可以用 6 个字符表示。 Mac 上 数码测色计 可用于检查屏幕任何区域并给出所选颜色 RGB 值。...可以在 SwiftUI 创建一个调色板以显示可能颜色。...SwiftUI 使用 0 到 1 之间值来表示 0 到 360 度色调值。以下代码在类似于在在 SwiftUI 创建一个环形 Slider环形Slider用于显示色调选项。...显示每种色调饱和度和亮度变化色轮 配色 将 HSB 用于颜色优势之一是可以轻松找到可以很好地协同工作合适颜色。...但是,当 RGB 值开始时,有时很难识别搭配得很好颜色。坚持使用相同色调并调整饱和度或亮度以在不改变颜色情况下为屏幕布局添加一些变化会更容易。

2.6K30

iOS字符串本地化(APP 内本地化切换) 、nib本地化、图片本地化

本地化字符串指定参数顺序(应用场景:app内多语言切换)【修订】 前言 使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言多种方言 如果要添加本地化功能,需要为每种支持语言创建一个子目录...如果找到了相应文件夹,就会载入这个文件夹资源 I、nib& info.plist 本地化 本地化前准备 先创建本地化文件夹(zh-Hans.lproj),让应用程序支持对应语言环境,并选择选择当前需要本地化资源...预先准备好图片替换对应语言图片即可 例如替换中文 zh-Hans.lproj文件夹home.png 在代码照常使用图片即可 [UIImage imageNamed:@"icon_hyxq_youhuiq...-SwiftUI enables SwiftUI Text() support....Please see the genstrings(1) man page for full documentation 生成字符串资源文件另一种方式(通过终端命令genstrings) 苹果推出一个用于自动代码

1.5K30

Core Data with CloudKit (六) —— 共享数据

共享关系所有者来看,所有者创建所有数据都保存在本地私有数据库。即使该数据被共享,其他参与者对数据修改也保存在所有者私有数据库。...数据参与者来看,任何所有者共享数据,都保存在参与者本地共享数据库文件,即使是参与者本人进行添加或修改,也同样保存在本地共享数据库文件。 以上行为,同网络端逻辑完全一致。...UICloudShareingController IMG_1886 UICloudShareingController是UIKit提供一个用于CloudKit共享记录添加和删除人员视图控制器...在SwiftUI下,用于尚未生成CKShare情况构造方法在使用UIViewControllerRepresentable包装时异常,因此,推荐在SwiftUI下首先使用代码(share)手动为托管对象生成...项目设置 info.plistinfo.plist添加CKSharingSupported,为应用程序添加打开共享链接能力。Xcode 13可以直接在info添加

1.3K20
领券