问题标签 [swift5.1]

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 回答
261 浏览

ios - 如何通过objective c将UIView的甘特图绘制到UIViewController中?

我是 iOS 开发的新手。所以请指导我一步一步绘制甘特图。我看过谷歌图表 Api 但没有绘制甘特图。提前致谢。

0 投票
7 回答
21290 浏览

swift - SwiftUI `@State` 关键字有什么作用?

SwiftUI教程使用@State关键字来表示可变的 UI 状态:

@State var showFavoritesOnly = false

它提供了以下摘要:

状态是一个值或一组值,可以随时间变化,并影响视图的行为、内容或布局。您可以使用带有 @State 属性的属性来向视图添加状态。

  • 关键字究竟是什么意思?
  • 变异变量如何@State导致重新计算视图?
  • bodygetter中的其他变量如何不可变?
0 投票
2 回答
298 浏览

swiftui - 带白色背景的概述按钮

如何在 SwiftUI 中创建这样的按钮? 在此处输入图像描述

0 投票
2 回答
1387 浏览

swift - @propertyDelegate 和 @propertyWrapper 之间的区别

@propertyWrapper和 和有什么不一样@propertyDelegate?在他们谈论的所有 WWDC19 视频中@propertyWrapper,但所有实际实现都使用@propertyDelegate(即SwiftUI - State);上的编译器Xcode 11 Beta似乎同时接受并要求完全相同的要求:

请注意,在这两种情况下,编译器都会说"Property delegate"

我是否遗漏了什么,或者这是因为他们尚未决定使用哪个名称?

0 投票
1 回答
845 浏览

ios - 将 BindableObject 传递给视图

在 Apple 的会话和教程中,我们有两个选项可以将 BindableObject 传递给视图。

  1. 在具有包装器的层次结构的顶部视图中使用声明BindableObject作为事实来源,@ObjectBinding并将其传递给具有@Binding声明的其他视图。
  2. 在具有包装器的层次结构的顶部视图中使用声明BindableObject作为事实源,使用修饰符初始化顶部视图并将其传递给其他视图或声明,或使用(在这种情况下将由 SwiftUI 自动分配,我们不需要将它传递给init)。@EnviromentObject.enviroment(BindableObject)@Binding@EnviromentObjectBindableObject

处理用户输入教程中,如果我们有BindableObject项目列表并且我们想要更改其他视图(或 RowView 甚至单独的屏幕)上的项目之一,我们需要:

  1. 使用上述任何一种方式将其传递BindableObject到更深层次的视图。
    1. 将所选项目传递到此视图。
    2. 通过在列表中BindingView查找项目来绑定项目的属性。BindableObject

一些代码可以使问题更清楚:

消息模型和BindableObject

MessageView 表示项目列表 struct MessagesView

MessageRow 有一个 Toggle 来更新特定项目的状态 in outBindableObject

这种方法显示在我上面提到的教程中。

问题: 我想单独传递 Message 作为 a@Binding直接在子视图中使用它,但我无法实现这一点。我变得有些困惑。BindableObject将项目和选定项目传递给任何视图(应该处理绑定)以稍后BindableObject使用索引绑定项目是否是正确的方法?有没有其他方法可以允许通过BindableObject它的一部分而不是完整并绑定这部分(它应该是真相的来源),在我们的例子中,这部分是Message

0 投票
1 回答
2167 浏览

ios - 未能建立活动方案

我的SwiftUI项目将不再构建。它告诉我Failed to build active scheme没有更多信息。 在此处输入图像描述

这是完整的存储库: https ://github.com/nathfreder/HackerNews/tree/master/HackerNews

改了之后才发现这个问题

0 投票
1 回答
1337 浏览

ios - Swift 5.1 Opaque Result Types 如何与旧操作系统(例如 iOS 12)交互

在 WWDC 2019 session 402 " What's New in Swift " 中,演讲者在讨论 Swift 5.1 功能Opaque Result Type (SE-0244)时提到该功能仅适用于新操作系统:

需要新的 Swift 运行时支持

    适用于 macOS Catalina、iOS 13、tvOS 13、watchOS 6 及更高版本

    Guard 在部署到早期操作系统版本时使用可用性检查

在 Xcode 11 中,如果我在针对 iOS 11 及更高版本时使用此功能编写代码,我不会收到任何构建错误(或警告)。我没有在if #available(iOS 13.0, *)检查中包装任何代码。例如:

然后foo()从我的应用程序中的一些代码调用。

如果此代码在 iOS 13 之前的设备上运行会发生什么?缺少构建错误本身是错误吗?是否有明确的清单列出哪些 Swift 5.1 功能需要新的运行时支持,以及特定的操作系统版本?

0 投票
3 回答
3270 浏览

ios - SwiftUI 登录页面布局

我正在探索 SwiftUI,因为我正在尝试构建登录视图,现在我遇到了问题

这就是我想要实现的目标:

我已经取得的

如您所见,我已经达到了这一点,但我不喜欢我的实现

因为为了使用户名和密码文本在文本字段的中间完全对齐,我不得不在其中放置我不喜欢的文字间距值,20因为VStack它很可能不适用于不同的设备尺寸。

有人看到更好的方法来达到相同的结果吗?

谢谢

0 投票
1 回答
1482 浏览

swift - 对成员“buildBlock()”的模糊引用

我一直在尝试使用 Swift UI 为 iOS 13 制作应用程序,但我不断收到这个奇怪的错误:“对成员 'buildBlock()' 的模糊引用”。

无论我做什么,错误都不会消失。

我尝试一次注释代码部分,以查看可能导致问题的部分,但唯一有效的是注释掉整个视图。

我已经尝试清理我的构建文件夹并删除派生数据。我还尝试多次重新启动计算机和 Xcode,但没有任何修复。

我很确定这只是一个 Xcode 错误,但一定有它周围的地方,如果有人能告诉我那是什么,我将不胜感激。

错误截图

编辑:

事实证明,我忘记了在视图构建器闭包中最多只能有 10 个视图,而我拥有的不止这些。只需将它们分组以减少查看次数即可解决该错误。

事实证明,Xcode 显示的错误非常具有误导性。

感谢 Hamish 指出

0 投票
1 回答
868 浏览

swift - SwiftUI:如何为警报使用 .presentation 修饰符?获得编译器类型检查错误

我正在将我在 UIKit 中制作的测验应用程序重新构建到 SwiftUI 中以获得乐趣,但我遇到了下面最后一个 .presentation 修饰符的编译器错误。

我不知道我会如何打破这个。看起来很简单。运行 2012 MacBook Pro Retina i7。