首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

打造可适配多平台的 SwiftUI 应用

100% 基于 SwiftUI 开发,目前支持三个平台: iPhone、iPad 和 macOS。使用者可以通过它来浏览电影信息,包括正在上映以及即将上映的影片。...相较于 iPhone 版本,iPad 版本除了为了利用更大的屏幕空间对布局做出了一定的调整外,还提供了多窗口运行的能力,使用者可以每个窗口中独立进行操作。...由于 iPhone 只支持单窗口模式,通常我们不会太注意它的存在,但在 iPadOS 以及 macOS 这些支持多窗口的系统中,则代表着,每次创建一个新窗口( macOS 中,通过菜单中的新建来创建新窗口...它只有一个 Store 实例并支持多窗口,使用者每个窗口中都可以独立地切换 TabView,并且 TabView 的状态由唯一的 Store 实例持有。...点击次数显示在窗口的上方。图片我们设计这个 App 的状态,就要考虑到哪些是应用全局的状态,哪些是仅限于当前场景(窗口)的状态。

3.1K80

打造可适配多平台的 SwiftUI 应用

100% 基于 SwiftUI 开发,目前支持三个平台: iPhone、iPad 和 macOS。 使用者可以通过它来浏览电影信息,包括正在上映以及即将上映的影片。...相较于 iPhone 版本,iPad 版本除了为了利用更大的屏幕空间对布局做出了一定的调整外,还提供了多窗口运行的能力,使用者可以每个窗口中独立进行操作。...由于 iPhone 只支持单窗口模式,通常我们不会太注意它的存在,但在 iPadOS 以及 macOS 这些支持多窗口的系统中,则代表着,每次创建一个新窗口( macOS 中,通过菜单中的新建来创建新窗口...因此,如果我们打算将应用引入到一个支持多窗口平台的时候,最好能提前考虑到这种情况,想好如何组织应用的状态。...它只有一个 Store 实例并支持多窗口,使用者每个窗口中都可以独立地切换 TabView,并且 TabView 的状态由唯一的 Store 实例持有。

2K10
您找到你想要的搜索结果了吗?
是的
没有找到

iOS13 Scene Delegate

支持多窗口适配 iOS 13后新项目中info.plist中的配置项Application Scene Manifest是针对iPad multiple windows功能推出的。...保留Application Scene Manifest配置项不予删除(其中,项目是否支持多窗口功能是个可勾选项),AppDelegate的生命周期方法不再起作用,需要在SceneDelegate中使用...四、SwiftUI中SceneDelegate SwiftUI创建的iOS 13项目,所以SwiftUI应用程序主要依靠SceneDelegate来设置应用程序的初始UI。...接着为SwiftUI项目创建了ContentView实例,并通过使用UIHostingController将其添加为根视图控制器。 该控制器用于将基于SwiftUI的视图显示屏幕上。...scene(_: willConnectTo: options: )函数内,创建一个SwiftUI视图,将其放置托管控制器中,然后将控制器分配给window属性的根视图控制器,并将该窗口放置应用程序

5.1K20

用NavigationViewKit增强SwiftUI的导航视图

NavigationView返回根视图•通过NotificatiionCenter,让应用程序中任意的NavigationView跳转到新视图•支持转场动画的开启关闭 注册NavigationView...视图中支持SwiftUI原生的所有定义,例如toolbar、navigationTitle等。 目前启用转场动画,title和toolbar会在转场动画后才显示,观感稍有不足。日后尝试解决。...当iPhone Max横屏,NavigationView的表现会同iPad一样双列显示,让应用程序不同iPhone上的表现不一致。...当竖屏,左侧栏默认会隐藏,容易让新用户无所适从。 TipOnceDoubleColumnNavigationViewStyle会在iPad首次进入竖屏状态,将左侧栏显示右侧栏上方,提醒使用者。...[5]中,我希望iPad版本无论横屏或竖屏,都始终能够保持两栏显示的状态,且左侧栏不可隐藏。

3.2K20

苹果推出突破性新技术,使开发人员更加轻松快捷地创建应用

新工具和API大大简化将iPad应用程序引入Mac的过程。 对Core ML和Create ML的更新支持更强大、更精简的设备上机器学习应用程序。...Swift代码自动生成,当修改此代码后,对UI的更改会立即显示可视化设计工具中。 现在,开发人员可以看到UI组装,测试和优化代码的外观和行为的自动实时预览。...借助动作捕捉,开发人员可以将人们的动作集成到他们的应用程序中,通过人物遮挡,AR内容将自然地显示人们面前或后面,以实现更加身临其境的AR体验。...轻松让iPad应用程序支持Mac 新的工具和API使iPad应用程序更容易上传到Mac。...用Mac和iPad版本的应用程序,用户也将享受每个平台的独特功能,包括使用Mac的键盘、鼠标、触摸板和独特的Touch Bar功能的精度和速度。

2.1K20

开发人员需要了解的 iOS 14 beta 5 更新

用户也可以输入时间,也可以通过滚轮来调整时间,不过滚轮是直接嵌输入框中; 调整了 HomeKit 控制中心的 “收藏夹” 组织方式及图块的大小; 设置 中,添加了禁用应用程序“照片” 中隐藏相册的功能...可以 设置 -> 照片 中找到这一选项; 可用性警告,主要针对 COVID-19 Exposure 通知; 通过 “可用性警告”,iOS 14 将通知用户所在区域是否有可用的 Exposure 通知应用程序...如果启用了该通知,则受支持应用程序启动,会在顶部收到通知,所以用户可以自行选择是否启用 设置 中新增了针对开发人员的 App Clip 新测试功能; 新的小部件位置访问请求的; 快捷指令...这让绘制网格的顺序更能影响最终图像; 可以使用 INMediaUserContext, Core Spotlight, 和 Intents 来改善多媒体交互应用; SwiftUI 除了解决了部分问题外,...ColorPicker 现在可以通过绑定 CGColor 来配置; 引入了 ToolbarItemGroup,可以将多个项目放置非自定义工具栏的特定位置; ProgressView 现在支持添加辅助的

95610

肘子的 Swift 周报 #027 | 苹果助你成为一日“百万富翁”

3470612_1_Apple-I-zipic 值得一提的是,几天前( 4 月 11 日 )发生的一个趣闻:苹果为开发者提供的 App Store 管理网站出现了 Bug,导致不少开发者短时间内的销售额显示数据飙升至数百万美元...前一期内容|全部周报列表 原创 @State 魅影:一个多窗口模式下 SwiftUI 应用的 Bug 分析[4] Fatbobman( 东坡肘子 )[5] 本篇文章中,我们将探讨一个影响多窗口模式下...重构的结果令 Ryan 非常满意,尽管应用的包大小有所增加,但构建性能和 SwiftUI 预览方面均获得了显著提升。他希望这篇文章能为其他开发者进行类似重构提供启示和帮助。...通过分享其 IronIQ 项目中的亲身经历,作者详细阐述了为支持使用 Swift 包管理器(SPM)和复杂的数据堆栈配置 Xcode 预览环境的步骤和策略。...此库包括一个 macOS 辅助应用程序和一个 Swift 类,这个类通过 Bonjour 服务进行连接,并将 JSON 数据转换为手势数据。

10010

用 Table SwiftUI 下创建表格

SwiftUI 4.0 的第一个测试版本中( Xcode 14.0 beta (14A5228q) ),Table iPad OS 上的表现不佳,存在不少的 Bug 。...,SwiftUI 会扩展更多的样式到 iPadOS 平台 行选择 Table 中启用行选择与 List 中的方式十分类似: struct TableDemo: View { @State var...启用以该属性为依据的排序 TableColumn("货币代码"){ Text($0.currencyCode) } // 不启用以该属性为依据的排序 // 切勿不绑定排序变量,使用如下的写法。....red : .green) } 目前的测试版 14A5228q ,当属性类型为 Bool 该列上启用排序会导致应用无法编译 尽管点击可排序列标题后,仅有一个列标题显示了排序方向,但事实上 Table...启用 Drag 支持,将无法使用 Table 的简化版定义: Table { TableColumn("标识符", value: \.identifier) TableColumn("

3.9K30

苹果全新UI框架来了!可视化编程,自动化减少20%代码量

来源:Github等 编辑:鹏飞 本文转自公众号:新智元 【导读】SwiftUI是为Apple平台创建用户界面的现代化框架,以前所未有的速度创建漂亮、动态的应用程序。...目前TOIBE排名18位: ? RedMond排名11 ? SwiftUI还提供对动态类型、暗黑模式、本地化和可访问性的自动支持SwiftUI都更新了什么?...比如在使用源码控制就很麻烦,会导致代码和可视化布局之间移动变得非常困难;使用动作和outlets过于依赖flaky系统的连接。...感受一下SwiftUI的代码风格 ? Github一个repo整理了WWDC 2019发布的SwiftUI布局框架的一些官方示例: SwiftUI Essentials 创建和组合视图: ?...比如,它只支持Swift,你不能在Obj-C里使用SwiftUISwiftUI目前还不是很成熟,正在从事iOS开发的程序员可能更应该继续使用Obj-C,直到SwiftUI足够成熟。

5.3K20

游戏优化系列三:Unity游戏的黑屏问题解决方法

,发现屏幕黑屏;或者打开了其他接受输入焦点的对话框或弹出窗口,点击返回键发生屏幕黑屏,需要触摸屏幕(获得焦点)才能正常显示。...除非它显示了其他接受输入焦点的对话框或弹出窗口,在这种情况下,当其他窗口有焦点,活动本身就没有焦点。...从Android Q开始,多窗口模式下,可以同时有多个恢复的活动,因此即使上面没有覆盖,恢复状态也不能保证窗口焦点。...(如果游戏对象启动期间处于非活动状态,则在激活之后才会调用 Awake。) -- OnEnable:(仅在对象处于激活状态时调用)启用对象后立即调用此函数。...-- OnApplicationPause:一帧最后时调用,调用后会再触发一帧以刷新图像和切换暂停状态 -- OnApplicationQuit:退出应用程序之前在所有游戏对象上调用此函数。

5.7K01

SwiftUI 4.0 的全新导航系统

iPad Portrait 显示状态下,默认即为此种模式 balanced 显示左侧栏的时候,缩小右侧 Detail 栏的尺寸。...iPad landscape 显示状态下,默认即为此种模式 automatic 默认值,根据上下文自动调整外观样式 NavigationTitle 中添加菜单 使用新的 navigationTitle...navigationBar) } RocketSim_Screenshot_iPhone_13_Pro_Max_2022-06-12_09.12.01 NavigationStack 的 toolbar 背景色只有视图上滚才会显示...browser iPad 下,当前视图的 Title 将显示左侧 image-20220612190914949 editor 不显示返回按钮旁边的上页视图 Title image-20220612191040190...SwiftUI 下对 iPad 进行适配: https://www.fatbobman.com/posts/swiftui-ipad/ [4] 用 NavigationViewKit 增强 SwiftUI

10.2K62

SwiftUI 实现一个开源的 App Store

最重要的是,我们把所有国家和地区的商店,都集成一个面板中,通过下拉列表选择,实现快速切换榜单。 2.2 App 详细页 App 详细页面,把开发者最关心的参数显示最前面。...另外,右上角切换国家和地区,显示不同地区的 App 搜索。 2.4 应用状态订阅 这个状态订阅是什么意思?...还有新 App 刚刚发布、或者 App 需要下架了,什么时候才从商店消失等。...另外,还支持暗黑模式,依然精美绝伦!切换图标可以选择自己显示的图标等。 大家想要什么功能,可以评论区留言啊~ 三、调研工作 接下来,我们说一下要实现以上功能,需要的 API 怎么调研出来的!...比如,SwiftUI 还不支持 WebView,所以用 SFSafariViewController 桥接的 View SwiftUI 组件中显示会异常。

1.7K20

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

另外,如果你有一个现有的iPad或iPhone,将visionOS添加到应用程序的中,可以感受到更好更贴近现实的外观与体验,并添加特定于平台的功能,以创建引人注目的体验。...你也可以添加一个沉浸式场景,将你的内容放置人物的周围环境中。 当你想要创建3D资产或场景从你的应用程序显示,包括一个现实作曲家专业项目文件。...当你准备界面中显示3D内容,使用RealityView。这个SwiftUI视图作为你的RealityKit内容的容器,并允许你使用熟悉的SwiftUI技术更新内容。...这种样式将你的内容与显示人物周围环境的直通内容一起显示。其他样式允许你不同程度上隐藏直通。使用immersionStyle(selection:in:)修饰符指定空间支持的样式。...当你的空间可见,其他应用程序仍然隐藏,但当你关闭它,它们会返回。如果你的应用程序定义了多个空格,你必须在显示一个不同的空格之前取消当前可见的空格。

69240

WWDC20全球开发者大会上开发者必须了解这些事

通过主屏幕页面上的小工具,用户每次看设备都能体验到开发者的小工具。而通过新的 SwiftUI API,开发者可以使用同样的代码为 iOS、iPadOS 和 macOS 构建一个 widget。...---- 新的 SwiftUI 功能 SwiftUI 向开发者介绍了一个现代 UI 框架,该框架使构建复杂的应用程序 UI 变得前所未有的直观。...今年,新的生命周期 API 使开发者可以 SwiftUI 中编写整个应用程序,并在所有 Apple 平台上共享该代码。...---- Mac Catalyst提供更多可定制的应用程序 Mac Catalyst 与 macOS Catalina 一起 WWDC 2019上首次亮相,使开发者可以轻松地将其 iPad 应用程序引入...开发者可以 Mac App Store上向 175 个国家/地区的客户分发 Mac Catalyst 应用,并通过通用购买让客户轻松地 Mac,iPhone 和 iPad 上享受应用和应用内购买。

1.2K20

Swift Playgrounds 4 娱乐还是生产力

的键鼠能力的增强)•可以控制台中显示 print() 语句的输出等 一些 Swift 开发者逐渐尝试使用 Swift Playgrounds 进行一些小规模的开发工作。...通过提供 playground 包支持,让开发者以更加熟悉的方式进行工作,汇集并测试灵感,并随时可在 Mac 和 iPad 之间切换。... iPad 上开发可上线发行的 iOS 应用程序 Swift Playground 4 中最亮眼的新功能就是提供了直接在 iPad 上通过 Swift Playgrounds 构建应用程序的能力(需要...image-20211219200232619 应用被限定使用 SwiftUI life cycle,提供了响应迅速的预览以及全屏运行模式,支持添加第三方 SPM 库。...image-20211219202725921 Swift DocC 的全面支持 苹果为 Swift Playgrounds 4 提供了不少新的课件,主要集中于如何创建 app,如何使用 SwiftUI

72420

Swift 中的热重载

不能支持整个iPad环境。 它们发布后不久,我启动了一个名为 Objective-C Playgrounds 的开源项目,它比官方 Playgrounds 运行得更快、更可靠。...Inject 这个小型库是完全通用的,无论您使用 UIKit、 AppKit 还是 SwiftUI,您都可以使用它。 您无需为生产应用程序添加条件或删除 Inject 代码。...工作流 SwiftUI 只需要两行字就可以使任何 SwiftUI 启用实时编程,而当您这样做,您将拥有比使用 Swift Previews 更快的工作流程,同时能够使用实际的生产数据。...Vanilla TCA 不允许这样做,因为 reducer 代码是一个免费功能,不能直接用注入替换,但我们 The Browser Company 的分支 支持它。...当我最初开始咨询 TBC ,我想要的第一件事是将 Inject 和 XcodeInjection 集成到我们的工作流程中。公司管理层非常支持

1.9K20

一文看完 WWDC 2022 音视频相关的更新要点丨音视频工程示例

12.9 英寸 iPad Pro 新增两个新特性:Reference 模式支持 EDR 渲染;Sidecar 支持 EDR 渲染(Sidecar 是苹果的一项技术,支持iPad 作为 Mac 的扩展屏...使用一款 CIFilter ,要想知道它是否支持 EDR,要做一下检查。...启用面部驱动自动对焦后,相机会主动对焦人脸,这样就能使人脸更清晰。当人脸离开画面,相机会将焦点转移到背景上。...ScreenCaptureKit 支持对录制内容进行实时动态过滤,可以从显示器、应用程序和窗口的任意组合中选择要录屏的内容。...7.2、探索 ARKit 6 参见:Discover ARKit 6[21] 这个 Session 介绍了 ARKit 新的能力: ARKit 中启用 4K 视频模式,支持以目前最高的图像分辨率运行相机

2.5K10

Win系统使用WSL子系统Linux启动vGPU增强图形性能加速OpenGL

扩展显示器上使用 Vulkan API ,汤姆克兰西的彩虹六号®围攻可能会在混合图形场景中遇到损坏。 尝试将游戏分辨率更改为 16:9 比例,Crossfire™ 可能会遇到问题。...某些显示器(例如 Scepter C 系列或 Samsung™ Odyssey G9 系列) Radeon RX 6000 系列图形产品上可能会出现间歇性黑屏。...当设置为 5120x1440@240hz ,Samsung™ Odyssey G9 C49G95T 可能会出现显示或损坏问题。...某些游戏设置为无边框全屏可能会出现卡顿,并且连接了扩展显示器并在 RDNA 图形产品上运行 Netflix™ windows store 应用程序。...使用 MSI Afterburner 可能会观察到屏幕闪烁。 某些游戏和系统配置上启用增强同步可能会导致出现黑屏。任何可能在启用增强同步遇到问题的用户都应将其禁用作为临时解决方法。

2.3K30

如何开发一个优秀的 App Clip

然后,使用 URL 来决定 App clip card 上显示什么数据 (App clip card 是一个我们调用后底部弹出的 Sheet 视图)。...增强用户体验 App clip 不会显示主屏幕上,并且用户无法以管理 App 的方式对其进行管理。相反,一段时间不活动后,系统会从设备中删除 App clip 。...App clip 的可用框架 App clip 可以使用 SwiftUI 和 UIKit ,并且可以访问与完整应用程序相同的框架。...App clip 使用这些框架中的任何一个都不会导致编译错误,但是它们的 API 返回的值会指示运行时不可用,空数据或错误代码。...但是,始终 App clip 中启用“限制应用程序跟踪”,以保护用户隐私并防止用户跨应用程序和 App clip 进行跟踪。

83610
领券