问题标签 [swiftui-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
159 浏览

swift - SwiftUI - 如何在不影响子视图的情况下在视图之间创建过渡动画?

在 SwiftUI 中,我有一个像这样的总体视图设置:

我在 FirstView 中有一个按钮,相当于:

这工作正常,一切都很好,但我注意到,使用这种方法,任何以带有过渡动画的子视图中的 if/else 语句为条件的视图(即在这种情况下为 SecondView),也应用了这些动画

因此,例如,如果 SecondView 如下所示:

Text("Hello")也会有过渡.transition(.move(edge: .bottom))

有什么方法可以防止这种情况/更好的方法来创建从一个视图到另一个视图的过渡动画?

0 投票
2 回答
871 浏览

swift - SwiftUI 中的填充、偏移或位置

我正在尝试定位一个圆圈,使其中心位于这样的矩形顶部。圆的直径不必与矩形的宽度相同。

在此处输入图像描述

我想了解的是实现这一目标的最佳和最实用的方法是什么?在这种情况下,我应该使用填充、偏移或位置吗?它是否适用于不同的设备/屏幕尺寸?似乎它们中的任何一个都可以使用,但哪个更理想?

这是我使用padding. 我可以增加底部填充以达到我想要的效果,但不确定这是否是最好的方法。

在此处输入图像描述

0 投票
1 回答
150 浏览

ios - 在视图加载/刷新时调用 SwiftUI 视图扩展

我们创建了一个自定义视图扩展来扩展功能.alert并添加一系列自定义以满足我们的需求;

在视图上调用它的方式与调用 .alert 的方式相同;

Where $viewModel.showAlertis@Published var showAlert: BoolAlertXis 一个自定义视图,其中包含我们的专有自定义项以适应我们的 B2B 应用程序。

我遇到的问题 .alertX(isPresented: 是每次视图加载或更改状态时都会调用闭包中的信息,无论$viewModel.showAlert绑定是否更改。.alert仅在$viewModel.showAlert值更改时才调用的内置视图扩展并非如此。

我需要在实现中进行哪些修改,public func alertX(isPresented: Binding<Bool>, content: () -> AlertX) -> some View {以便仅在绑定值更改时才调用闭包内的信息?

0 投票
1 回答
105 浏览

ios - 在 SwiftUi 中的视图之间传递列表

我正在自己制作一个 ToDo 列表应用程序以尝试熟悉 iOS 开发,但我遇到了一个问题:

我有一个单独的View链接来输入一个带有TextField. 这是此文件的代码:

所以我需要将输入的任务变量插入到数组中,以便在我的主ContentView文件的列表中显示。

这是ContentView供参考的文件:

我需要一个函数来获取TextFieldContentViewList

-谢谢您的帮助

0 投票
1 回答
48 浏览

swift - 在预览时增加函数中的变量会产生错误(swiftui)

我有这段代码,我在其中调用返回视图的“makeView”函数,在makeView函数中,我递增变量“id”并将其传递给视图,但是当我这样做时,它会显示此错误

“从 SongBook.app (2935) 中的 SongsList_Previews 更新预览耗时超过 5 秒。”

令人惊讶的是,当我注释掉“self.id += 1”行时,一切正常。我是 SwiftUI 的新手,如果我遗漏了一些信息,请原谅我。

0 投票
1 回答
539 浏览

swiftui - SwiftUI:将列表添加到带有上方图标的滚动视图中

我正在尝试将项目列表添加到视图中,同时上面有一个图标。目前,当我构建我的代码时,它将图标和列表分开,这是我正在寻找的,但它使图标静态且列表可滚动。我希望图标和列表一起移动。

0 投票
1 回答
44 浏览

arrays - 在另一个视图中使用通过用户输入生成的数组

我想做一个项目,用户可以在一个视图中写下名称。在另一个视图中,其中的一个随机名称显示为用户的文本。

我尝试通过正常引用来执行此操作,但是当我尝试在第二个视图中引用它时,第一个视图中包含所有名称的数组是空的。

代码看起来像这样:

有人知道如何制作这样的东西吗?

0 投票
1 回答
72 浏览

swift - 如何在 VStack 中为子视图排列底部文本

我有以下代码产生以下输出。

在此处输入图像描述

即使文本上方的视图(文本)更大,我如何让文本data与文本对齐,并导致底部视图被进一步向下推?我将如何阻止这种情况发生?data 2"11 / 11 /11 /111/1 111"

我还应该提到我不想"11 / 11 /11 /111/1 111"被截断。

编辑:如果长文本的字体大小比它下面的文本小,那也没关系。我也尝试minimumScaleFactor过,底部文本视图仍然相对于带有长文本的顶部视图被推送。

这就是我想要完成的。

在此处输入图像描述

0 投票
0 回答
208 浏览

swift - 如何防止视图被 SwiftUI 中扩展的其他视图推送

如果你有这样的事情。您会看到底部视图rectangle 1rectangle 2彼此对齐。

在此处输入图像描述

但是,一旦您将顶部文本从"Data"to"Data 2"或任何更长的时间延长,您就会看到顶部视图将底部视图进一步向下推。无论顶视图中的文本长度如何,如何阻止底视图被进一步向下推?

这是更新的代码以及会发生什么。

在此处输入图像描述

是否可以定位文本视图使其不移动?无论上述任何一个矩形上的文本视图的长度如何,我都希望rectangle 2必须对齐。rectangle 1

我还应该注意,如果上面的文本视图字符串像下面这样长,它将被截断,这是我不想要的。

在此处输入图像描述

我也尝试过添加minimumScaleFactor0.4它确实显示了整个文本而没有被截断,但它有同样的问题,它将底部文本视图进一步向下推。

在此处输入图像描述

编辑:标准

  1. 让每个矩形中的两个底部文本视图的位置相互对齐,就像在第一张图片中一样,并且在屏幕上的那个位置。
  2. 顶部文本视图的长度可以是可变的,无论是 2 个字符还是最多 40 个字符,都不应该导致底部文本视图被进一步向下推。应该注意的是,顶部文本视图中字符串的长度与另一个矩形中的顶部文本视图相比可以是不同的长度。尽管如此,底部视图不应向下移动,它们仍应彼此对齐。
  3. 如果顶部视图文本字符串开始变得太长,只要不移动底部文本视图,就可以更改字体大小。为了显示所有的文本。
  4. 顶视图中很长的字符串不应该像第三张图片那样被截断。我尝试修复此minimumScaleFactor问题,截断问题已修复,如第四张图片所示,但您可以看到底部文本视图仍然移动。

在此处输入图像描述

0 投票
2 回答
46 浏览

swiftui - 自定义形状记录在绘制路径之外的点击

Arc在 SwiftUI 中创建了一个自定义形状,但是当我onTapGesture向它添加一个修饰符时,它会在我为 绘制的区域之外注册点击Arc(它在用于绘制 的区域内的任何地方注册点击)。我怎样才能确保水龙头只在绘制的路径注册,而不是整个?rectArcArcrect

这是Arc我画的形状:

这是我使用Arc带有onTapGesture修饰符的:

这是它在屏幕上的样子:

在此处输入图像描述