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

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

将你的应用扩展到沉浸式空间 从熟悉的基于窗口的体验开始,向人们介绍您的内容。从那里,添加特定于visionOS的SwiftUI场景类型,如卷和空间。...你也可以添加一个沉浸式场景,将你的内容放置在人物的周围环境中。 当你想要创建3D资产或场景从你的应用程序中显示时,包括一个现实作曲家专业项目文件。...当一个人的手指与屏幕上的项目占据相同的空间时,系统就会报告一个交互。额外的手指和手部动作定义手势类型。 这张照片显示了一个人的手在桌子上的物理键盘上打字。一个虚拟的建议条显示在物理键盘的上方。...系统将每个窗口放置在初始位置,并根据与应用程序的进一步交互更新该位置。 将3D内容添加到应用程序中 为您的visionOS应用程序添加深度和维度,并发现如何将您的应用程序内容融入人的周围环境。...在人周围页面链接中显示3D内容 当你需要更多地控制应用内容的位置时,可以将内容添加到ImmersiveSpace中。沉浸式空间为您的内容提供了一个无限的区域,您可以控制空间内内容的大小和位置。

1.1K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    酷我音乐iOS小组件适配开发实践

    背景介绍 随着iOS17逐渐普及,一些App的功能逐渐向周围延伸.其中包含对手机端以及苹果各种平台的适配工作,本文讲述的主要内容是在iOS17上的Extension小组件技术开发实践....小组件开发遇到的问题 iOS17适配容器视图问题 swiftUI中支持的Button 在Extension的widget中无法正常使用 使用AppIntent Button 后的 widget和host...,那苹果染色染成啥颜色就是啥颜色,这主要是和苹果系统的深浅模式适配有关) 因为酷我这边基本不需要做啥染色,直接上图,所以也不用做额外的适配工作,直接把这个边距关闭掉....(我们不推荐这样实现,因为这样做可能一个组件只能适配iOS,却不能适配其它 例如watchOS、等系统,就造成兼容性下降等问题.) 2.SwiftUI中支持的Button 在widget中无法正常使用...-> some View } 它明确标识如果并排添加多个widgetURL的话,这种行为是未定义不确定的,它默认会以最后一个添加的为准.好坑呀!

    1.1K21

    酷我音乐iOS小组件适配开发实践

    背景介绍 随着iOS17逐渐普及,一些App的功能逐渐向周围延伸.其中包含对手机端以及苹果各种平台的适配工作,本文讲述的主要内容是在iOS17上的Extension小组件技术开发实践....小组件开发遇到的问题 iOS17适配容器视图问题 swiftUI中支持的Button 在Extension的widget中无法正常使用 使用AppIntent Button 后的 widget和host...,那苹果染色染成啥颜色就是啥颜色,这主要是和苹果系统的深浅模式适配有关) 因为酷我这边基本不需要做啥染色,直接上图,所以也不用做额外的适配工作,直接把这个边距关闭掉....(我们不推荐这样实现,因为这样做可能一个组件只能适配iOS,却不能适配其它 例如watchOS、等系统,就造成兼容性下降等问题.) 2.SwiftUI中支持的Button 在widget中无法正常使用...-> some View } 它明确标识如果并排添加多个widgetURL的话,这种行为是未定义不确定的,它默认会以最后一个添加的为准.好坑呀!

    1.4K30

    iPadOS生产力翻身,Mac Pro官方攒机 | 软、硬皆出彩的WWDC19

    MPX,每个拥有双核心的Vega 2显卡;提供8个PCI-E插槽的可扩展空间,还有名为Afterburner的图像加速卡,标准配置为5999美元(41415元人民币)起,今年秋天发售。...标准版售价4999美元(34507元人民币),纳米纹理版则是5999美元,另有Pro支架可选,需要额外支付一千美元。...,再也不需要先用手机装App了,它直接内置了App Store软件商店。...现场还播放了一段一个行动不变的大叔靠语音控制实现了各种操作。 开发者福利,新框架SwiftUI ? 开发语言Swift建立的新框架——SwiftUI,让开发者们更快更简单的写出代码。...可以用于watchOS、tvOS、macOS等苹果旗下系统的App开发。

    1.3K40

    解析SwiftUI布局细节(一)

    前言 ---- 在前面的文章中谈了谈对SwiftUI的基本的认识,以及用我们最常见的TB+NA的方式搭建了一个很基本的场景来帮助认识了一下SwiftUI,具体的文章可以在SwiftUI分类部分查找...,这篇我准备在写UI的时候从SwiftUI角度我们具体的应该怎样去做,或者说是用SwiftUI我们该从什么角度去解析一个页面。...,我们用SwiftUI做的时候该怎样去开始呢,用SwiftUI做的时候流程还会和我们使用UIKit处理的时候还一样吗?...,在整个显式的调用中,我们似乎是没有用到buildBlock函数的,那要是我们在定义TestBuilder的时候要是不定义buildBlock是不是也可以,当然是不行的,这个在具体的例子中可以试试,在调用的时候就会报错...我想加一个点击除了输入框之外收起键盘的操作,我们具体的实现方法其实就是在最底层添加了一个View,然后在它上面添加了点击的手势,具体得我们看看代码: /// 定义一个常见的背景View struct Background

    2.4K10

    干货 | 关于SwiftUI,看这一篇就够了

    一、背景 苹果于2019年度WWDC全球开发者大会上,发布了基于Swift建立的声明式框架--SwiftUI,其可以用于watchOS、tvOS、macOS等苹果旗下产品的应用开发,统一了苹果平台的UI...其在SwiftUI中的作用。...这样的设计,为开发者提供了一个灵活的开发模式,抹掉了具体的类型,不需要修改公共API来确定每次闭包的返回类型,也降低了代码书写难度。...内部由无数这样的单向数据流组合而成,每个数据流都遵循相应的规范,这样开发者在排查问题的时候,不需要再去找所有与该数据相关的界面进行排查,只需要找到相应逻辑的数据流,分析数据在流程中运转是否正常即可。...在Xcode 11中提供了实时预览和静态预览两项功能,实时预览:代码的修改能够实时呈现在Xcode的预览窗口中;此外,Xcdoe还提供了快捷功能,通过command+鼠标点击组件,可以快速、方便地添加组件和设置组件属性

    10.6K11

    SwiftUI Overlay Container 2 —— 可定制、高效、便捷的视图管理器

    历史 2020 年夏天,在为 健康笔记[2] 添加侧向滑动菜单的过程中,我发现在开发中经常会碰到需要在一个视图的上方动态添加另一视图的场景,例如(提示信息、广告、浮动按钮、新手指南等等)。...因此,我写了一个组件希望可以帮助开发者在 SwiftUI 中快速完成上述需求。但受限于当时的技术能力,很多的想法都没有能够很好地实现。...在 SwiftUI 中,描述视图已经变得十分的容易,因此我们完全可以将上述场景中的显示逻辑提炼出来,创建出一个可以覆盖更多使用场景的库,帮助开发者组织视图的显示风格和交互逻辑。...使用者通过调用容器管理器的特定方法,让指定的容器执行显示视图、撤销视图等工作。 容器管理器的环境值 在 SwiftUI 中,视图代码通过环境值调用容器管理器。...animation 在 SwiftUI 视图外使用 如果想在 SwiftUI 视图之外调用容器管理器,可以直接调用 ContainerManager 的单例: let manager = ContainerManager.share

    2.1K20

    【愚公系列】《AIGC辅助软件开发》013-AI辅助客户端编程:AI辅助 iOS 应用开发

    文本的视图。- `.padding()`: 为文本添加内边距,使其周围有一些空白区域。...`padding`- **功能**:`padding` 是一种视图修饰符,用于在视图周围添加内边距,使视图与其边界之间留出一定的空间。...在 SwiftUI 中,`.padding()` 是一个视图修饰符,用于为视图的四周添加内边距,使得视图内容与它的边界之间留出一定的空间。....padding() 这段代码会为 `Text` 视图在四周添加默认的内边距,使文本与其周围的其他视图或屏幕边界保持一定的距离。...对于处理SDR(标准动态范围)格式的视频,如果在转码过程中出现失真问题,可以尝试在命令中添加一些额外的参数来优化色彩和亮度的保真度。

    9710

    SwiftUI 布局协议 - Part 1

    结果呢,我们将会有一个超出边界的子视图,但是周围的视图不会被图片额外使用的空间影响。在下面这个例子中,黑色边框展示的空间是提供给图片的。...例如,我们看见文本获取需求空间后如何处置多余的不需要的空间,然而,如果需求的空间大于提供,就可能会发生一些事情,具体取决于你如何配置你的视图。...这样, SwiftUI 就会知道如何将其与周围的视图分开,为此,你需要实现布局方法 spacing(subviews:cache:)。...无论如何,在没有缓存的情况下编写我们的布局更简单一点,当我们以后需要时再添加。SwiftUI 已经做了一些缓存。例如,从子视图代理获得的值会自动存储在缓存中。相同的参数的反复调用将会使用缓存结果。...使用 AnyLayout 切换布局 布局容器的另一个有趣的地方,我们可以修改容器的布局, SwiftUI 会友好地用动画处理两者的切换。不需要额外的代码!

    3.3K10

    SwiftUI:自定义 Shape 使用 InsettableShape 协议实现向内绘制边框

    如果创建的形状没有特定大小,它将自动扩展以占据所有可用空间。...您在这里看到的是SwiftUI在形状周围绘制边框的方式的副作用。如果您递给某人一个圆的铅笔轮廓,并要求他们用粗笔在该圆上画线,他们将绘制出该圆的精确线——大约一半的笔在该线的内部,一半在该线的外部。...这就是SwiftUI为我们所做的,但是当形状到达屏幕边缘时,则意味着边框的外部最终超出了屏幕边缘。...它产生的插图形状可以是任何其他类型的插图形状,但实际上,它应该是一个有相同形状的较小的矩形。 为了使Arc符合InsettableShape,我们需要为其添加一个额外的方法:inset(by :)。...添加到inset允许我们在需要时多次调用inset(by :),例如,如果我们想手动调用一次,则使用strokeBorder()。

    1.8K40

    Apple Widget:下一个顶级流量入口?

    通常来说用户只会在主屏幕上停留片刻时间,就会跳转到其他地方,所以并不需要任何复杂的交互设计来增强 Widget 的作用,也不需要复杂的样式来丰富 Widget 的内容,简单明了的内容才是 Widget...苹果要求 Widget 只能使用 SwiftUI 主要是基于几点考虑: 1、SwiftUI 经过一年的发展,有了很大的提升,不仅可以使用 SwiftUI 来构建整个应用程序,而且在一些方面已经优于基于...SwiftUI 精美的 DSL 设计,使得开发者使用一套代码在 iOS、iPadOS、macOS、watchOS 和 tvOS 等多个平台展示不同的样式可以轻松的实现。...▐ 一个 Widget Extension 一共只有三种尺寸 考虑到简单明了的特点以及手机屏幕的空间有限的问题。...从技术角度看,SwiftUI Only 这种看似“激进”的策略其实也是一种信号,其实也是在告诉大家苹果对于 Swift 以及 SwiftUI 的重视程度。

    2K20

    SwiftUI - 百行代码变十行,Swift再创辉煌

    而对于开发者来说,新发布的 SwiftUI 可能是最吸引人的特性,在 苹果公司软件工程高级副总裁Craig Federighi的演示中,我们可以轻松地把一百行的前端代码缩减到十几行。...的确,我们平时开发很多的时间都浪费在了这个方面,然而作为牛逼的,我也相信必然会一统江湖的 Swift 也是不忍心让开发人员掉入这样的坑中,SwiftUI 只是一个开始---打开新世界的开始 // 声明式语法...通过 SwiftUI,开发者可轻松地将动画添加到几乎任何控件。...简便的动画创建方式 创建平滑的动画就像添加一个方法调用一样简单。SwiftUI在需要时自动计算和动画转换。...13.0+ Beta watchOS 6.0+ Bet

    3K40

    为什么 SwiftUI 的修饰符顺序很重要

    相反,您会看到一个 200x200 的空正方形,中间是 “Hello World”,在 “Hello World” 周围有一个红色矩形。...如果思考一下修饰符的工作原理,您就可以了解为什么会如此:每个修饰符都会创建一个,应用了该修饰符的新结构体,而不是在视图上设置属性。 您可以通过查询视图主体的类型来窥视 SwiftUI 的底层。...(width: 200, height: 200) .background(Color.red) 现在最好的思考方法是,想象一下 SwiftUI 在每个修饰符之后都会呈现您的视图。...使用修饰符的一个重要副作用是,我们可以多次应用相同的效果:每个修饰符都会简单地添加到以前的内容中。...例如,SwiftUI 为我们提供了 padding() 修饰符,该修饰符在视图周围添加了一些空间,从而不会将其推到其他视图或屏幕边缘。

    2.3K20

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

    它还具有动画、物理和空间音频功能,开发人员可以使用新的RealityKit Swift API利用RealityKit的功能。...使用Xcode,开发人员可以打开一个现有的iPad项目,只需选中一个复选框,就可以自动添加基本的Mac和窗口功能,并将触摸控件等平台特有的元素调整到键盘和鼠标上,这为开发原生Mac版本的应用程序提供了一个良好的开端...其他开发者功能 PencilKit使开发人员可以轻松地将Apple Pencil支持添加到他们的应用程序中,并包含重新设计的工具面板。...SiriKit增加了对第三方音频应用的支持,包括音乐,播客和有声读物,因此开发人员现在可以将Siri直接集成到他们的iOS,iPadOS和watchOS应用中,使用户能够通过简单的语音命令控制他们的音频...除了针对SwiftUI的语言增强功能外,Swift 5.1还增加了模块稳定性,这是在Swift中构建二进制兼容框架的关键基础。

    2.1K20

    解析SwiftUI布局细节(二)循环轮播+复杂布局

    这篇我们还是说我们关于SwiftUI的东西,再提一下Demo代码我已经提交上Git了,目前Demo进度为一级页面基本上结束,地图点击大头针的添加也刚处理完,代码有需要的小伙伴可以去Git看看,项目地址...NavigationView + NavigationLink 的界面跳转,在苹果给的 SwiftUI 的使用例子中就是这样写的,当然我们在正常的使用中这样写也没啥问题,那我们界面跳转的问题是什么呢?...in:) 要求传入一个CoordinateSpace类型的参数,也就是坐标空间,可以是.local, .global 或者 .named(),其中 .named()可以自定义坐标空间。...3、再提一点关于上面说的滚动视图,在UIKit中我们可以用UICollectionView搞定一切,但是在SwiftUI中没有这个控件,我建议采用的方式是 ScrollView + HStack + VStack...具体的我们会看下面的代码,他们的区别就是像拖拽我们可以监控它的改变状态,点击或者双击、长按等我们可以添加事件等等。

    12.2K20

    肘子的 Swift 周报 #009

    作为一个双语博客,我计划在首页添加一个简单的逻辑,根据访客的浏览器语言设置自动跳转到相应语言的页面。在测试过程中,我发现不同浏览器对系统语言列表的处理方式各不相同,这在前端开发中是一个常见的挑战。...原创 SwiftUI geometryGroup() 指南:从原理到实践[2] fatbobman(东坡肘子)[3] 在 WWDC 2023 中,苹果为 SwiftUI 添加了一个新的修饰器:geometryGroup...本文将介绍 geometryGroup() 的概念、用法,以及在低版本 SwiftUI 中,在不使用 geometryGroup() 的情况下如何处理异常。...Kyle Ye 从发现 Link 在 watchOS 上无法直接打开链接的问题入手,深入研究了 Link 组件的内部实现,最终找到了一种无需通过 ASWebAuthenticationSession 的新解决方案...Basics[11] Majid Jabrayilov[12] 在 iOS 17 中,苹果大幅强化了 MapKit 在 SwiftUI 中的能力,现在开发者也能够通过 MapKit 创建出专业、高效的地图应用了

    14210

    肘子的 Swift 周报 #001

    解密 SwiftUI 背后的 AttributeGraph[12] KyleSwifter[13] 在工作中,作者发现在 watchOS 10 上的某段代码会出现 AttributeGraph 的循环依赖错误提示...Kyle 在不久前启动了 OpenSwiftUI[14] 项目,该项目的目标是创建尽可能接近 SwiftUI 原始 API 的实现。...作为 A Companion for SwiftUI[17] 的作者,Javier 在 SwiftUI 发布初期就表现出对 SwiftUI 的动画和布局实现的浓厚兴趣,并通过博客展示了令人惊叹的研究成果...之所以不太起眼,大概是因为除了发布会上的一段展示,我们很难以更深入的视角去获悉空间视频看起来会是什么感觉。...在本文中,作者将会谈论和“空间”相关的三个事项: 如何在模拟器中体验空间照片 空间视频/照片到底是什么 Apple 到底做了什么 XRealityZone[21] 是一个专注于 XR 领域的创作者社区。

    29140

    为什么SwiftUI修饰符顺序很重要?

    相反,您会看到一个200x200的空正方形,中间是“ Hello World”,在“ Hello World”周围有一个红色矩形。...如果思考一下修饰符的工作原理,您就可以了解为什么会如此:每个修饰符都会创建一个应用了该修饰符的新结构体,而不是在视图上设置属性。 您可以通过查询视图主体的类型来窥视SwiftUI的底层。...(width: 200, height: 200) .background(Color.red) 现在最好的思考方法是,想象一下SwiftUI在每个修饰符之后都会呈现您的视图。...如果您之后再扩展Frame,它将不会神奇地重绘已经应用了的背景。 使用修饰符的一个重要副作用是,我们可以多次应用相同的效果:每个修饰符都会简单地添加到以前的内容中。...例如,SwiftUI为我们提供了padding()修饰符,该修饰符在视图周围添加了一些空间,从而不会将其推到其他视图或屏幕边缘。

    2.4K10
    领券