问题标签 [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 投票
1 回答
2427 浏览

swift - 如何使用 SwiftUI 在警报中使用导航

我正在开发一个蓝牙应用程序。它有引导和仪表板。在引导上有配对和如何使用模块的说明,仪表板控制外围设备。所以我需要使用警报取消配对并将其导航到一个名为Onboarding的不同页面。如何使用警报导航到不同的视图。

代码块

谢谢 !!!!

0 投票
0 回答
328 浏览

swift - 当我在 swiftui 中实现导航链接时,我的视图向上移动

应用 问题的模型:如何导航到另一个视图

我的应用程序成功地从一个视图导航到另一个视图,没有任何复杂性。当我使用 navigationLink 从视图 4 导航到视图 2 时(参考模型)。视图 2 向上移动。我尝试调试,但没有找到解决方案。

我设计了一个我想要实现的模型。

视图 4 的代码块:

谢谢 !!!!

0 投票
1 回答
82 浏览

ios - 有没有一种方法可以创建一个简单的 iOS 相机实例而无需请求相机权限?(斯威夫特 5.1)

好的,所以,我知道标题有点含糊,所以让我解释一下我想要完成的任务:

我正在制作一个主要不需要访问设备相机的 iOS/iPadOS 应用程序,但我想添加一个功能,您可以在其中扫描 QR 码以将某些类型的数据导入应用程序。大多数应用程序通常通过使用应用程序权限授予应用程序访问设备摄像头的权限来执行此操作,然后它们可以扫描 QR 码。

但是,我希望它不必征求许可,因为我相信会发生什么,如果我对我要解释的内容有误,请随时纠正我,我相信有两种不同类型的软件相机实例、系统摄像头和应用摄像头。应用程序相机是应用程序需要请求访问相机的权限,并且可以在开发人员想要使用它的任何事情上具有广泛的灵活性,但我想要系统相机,这将非常有限,因为系统相机实例是沙盒化的并且完全独立于您的应用程序,并且您没有太多的自由来使用您想要的东西,这很好,因为我只想扫描二维码,看起来很简单。然后我希望 iOS 仅从系统相机实例发送我的应用程序需要的数据,在这种情况下,是 QR 码的数据。

我只是在问如何做到这一点,因为我已经看到使用相机的应用程序,但不要求相机许可,所以我知道这是可能的,而且不必弄​​乱相机权限会很好我的应用程序中的一个小功能。

我已经尝试自己解决这个问题并对此进行了研究,但我似乎找不到它,也许我只是没有在寻找正确的东西。如果有人可以帮助我,那将不胜感激!干杯!

0 投票
1 回答
98 浏览

ios - 在设备方向更改时更改 UIView / UIViewController

对于那些经常使用 iOS 日历的人来说,你知道当你改变手机的方向时,会出现另一个视图。我不确定这是否会更改为子视图、新的 UIViewController、大小类或 Apple 旋转的某些编程巫术。

我可以使用子视图来完成一些功能,该子视图会更改方向更改的约束,但仅此而已。它看起来很粗糙,我认为可能有更好的方法来模仿日历应用程序。

0 投票
2 回答
898 浏览

ios - 无法使用 SwiftUI 加载相机

我有 2 个按钮,一个用于从画廊加载图像,一个用于从相机加载(即拍照)。但无论我尝试什么,我都会不断地加载画廊而不是相机。我一直在我的 UIImagePickerController 中使用以下代码(来自我的谷歌搜索):

我基本上复制了 ImagePicker 以适应相机(CameraPicker)。当我无法到达任何地方时,还尝试了通过网络搜索查看相机视图。

我是 swift 新手,所以请让我知道是否有更好的方法来做到这一点。

从相机获取图像:

要从图库中获取图像:

我的内容视图:

我想使用 MLkit,所以可能还需要考虑使用 UIImage 而不是 Image。

0 投票
1 回答
29 浏览

swift5.1 - 如果从其他文件访问,则属性包装值给出非可选类型

这是我创建的用于将数据保存到 UserDefault 的 PropertyWrapper,如果在我编写 PropertyWrapper 代码的文件中使用该值,这符合我的期望,可以使用可选链接。

但这给出了一个错误,条件绑定的初始化程序必须具有可选类型,而不是“用户”,当在另一个文件中使用时,如下所示

但是,如果在同一个文件中使用相同的内容,它可以与可选链接一起正常工作。

0 投票
1 回答
480 浏览

swift - 使用带有插值的字符串字典

我正在尝试将stringsdict文件与新的 Swift 5.1 高级插值一起使用。在经历了很多麻烦之后,我实际上能够得到一个非常简单的例子来工作:

现在我可以Text像这样引用它:

我会正确地得到 1 的“格式”和其他一切的“格式”。但现在我有一个更高级的用例。我想要一个num_formats变量,然后是一个format变量。对于1,它应该只打印format(没有num_formats插值)。对很多人来说,我想要"\(numFormats) x \(format)"

我尝试像这样设置这两个变量stringsdict

我希望能够通过调用来使用它:

相反,我得到(null)什么时候formats.count12 x (null)什么时候不是1。这样做的正确方法是什么?

编辑:我能够通过xNSStringLocalizedFormatKey值中删除来修复其中的一些问题。以前是<string>%#@num_quantity@ x %#@format@</string>这样的,我改成了<string>%#@num_quantity@ %#@format@</string>

0 投票
1 回答
816 浏览

swiftui - 一个视图中的多个警报只能在 swiftui 中始终使用最后一个警报

我有两个警报,如果布尔值为真,则会调用它们。

警报 - 1 - 如果蓝牙状态存在任何问题而不是开机,则调用它。这直接从名为 BLE 的 swift 包中调用。代码片段如下。

警报 - 2 - 当您想要取消配对外围设备时调用它,为用户提供两个选项。取消配对或保持在同一页面上。

问题: 两个警报似乎都可以正常工作,但如果它们没有放在同一个视图中。当我将警报放在同一个视图中时,最后显示的警报会按从上到下的顺序调用。

操作系统读取第一个警报,但仅在调用第二个警报时才激活它。

如果它们被调用,有没有办法使两个警报都起作用。我提到了下面的解决方案,但我得到了相同的结果。

解决方案 1解决方案 2

有2个代码片段

一、主要应用

2.BLE封装

谢谢你 !!!

0 投票
1 回答
182 浏览

ios - 如何解决问题 UIPickerView 致命错误:索引超出范围 [IOS Swift 5.1 Xcode 11.2]

我正在尝试获取UIPickerView 运行 App 时的选定值。但我得到错误,

致命错误:索引超出范围

我通过函数进行print("selected ==>\(selected)")调试 。我通过调试numberOfRowsInComponent得到的值为0。selected

如何解决这个问题呢?

0 投票
1 回答
208 浏览

swift - CoreData SwiftUI TextField - 将绑定数据类型更改为 Double 不起作用

为什么不能将数据类型更改为Binding<Double>?在 CoreData 定义中,变量定义为 Double。如果我对Binding<String>String 类型的另一个 CoreData 变量尝试相同的操作,我不会收到任何错误,并且一切正常。Xcode 错误:“无法在当前上下文中推断闭包类型”

一些进一步的信息:我需要这种形式的 TextField,因为我在使用循环创建的 GridStack 中使用它。对我来说非常重要的是,我可以“实时”编辑变量。

我很高兴得到任何帮助。提前谢谢了!:)