swiftui相关内容

当使用iOS 15/Xcode 13的键盘出现时,如何让ScrollView保持其位置?

我有一个ScrollView,下面有一个Textfield,两者都在VStack中。当使用iOS 15/Xcode 13的键盘出现时,如何让ScrollView保持其位置?更准确地说,如果我在第100行,我希望当键盘在那里时,ScrollView仍然显示第100行,我该怎么做(我不知道)? 当您在对话中并开始输入文本时,我希望与Facebook Messenger具有相同的行为。 请参 ..
发布时间:2022-06-22 10:59:11 其他开发

SwiftUI。如何更改Textfield的占位符颜色?

我想更改TextField的占位符颜色,但找不到方法。 我尝试设置foregroundColor和accentColor,但它没有更改占位符颜色。 代码如下: TextField("Placeholder", $text) .foregroundColor(Color.red) .accentColor(Color.green) 可能还没有用于此操作的API? ..
发布时间:2022-06-22 10:49:31 移动开发

通过didSet on@Published var将日期/时间保存到用户默认设置(来自SwiftUI的TimePicker组件)

我正在尝试保存用户的签入时间首选项(向他们发送通知提醒)。到目前为止,我已经能够将Bool和字符串保存到UserDefaults,但我不知道如何节省时间首选项。这是我用于存储首选项的UserSetting类。 public class UserSettings: ObservableObject { @Published var eveningCheckin: B ..
发布时间:2022-06-22 10:39:33 移动开发

如何在iOS 14及更高版本的SwiftUI2.0中删除列表分隔线

所以问题很简单,在标题中。我想删除SwiftUI iOS 14中的行分隔符。之前,我使用的是 UITableView().appearance().separatorStyle = .none 在iOS13中,这项功能曾经可以完成。但现在,它不起作用了。关于如何使其工作的任何更新或想法。谢谢:) 推荐答案 以下是可能的解决方案的演示。已使用Xcode 12b测试。 List { ..
发布时间:2022-06-22 10:27:44 其他开发

检测从WidgetKit小部件扩展启动的应用程序

轻触WidgetKit小部件会自动启动其父应用程序。如何检测我的应用程序是否从其WidgetKit小工具扩展启动? 我找不到有关在应用程序AppDelegate和/或SceneDelegate中捕获此信息的任何文档。 WidgetKit 要检测从WidgetKit小部件扩展启动的应用程序,其中父应用程序支持场景,您需要在父应用程序的SceneDelegate中实现scene(_: ..
发布时间:2022-06-22 10:21:15 移动开发

如何查看可以左右滑动和上下滑动的视图?

我正在学习适用于iOS的SwiftUI,我正在使用XCode13。如何使用向左和向右滑动我的视窗来更改同一‘容器’或‘集合’中的不同视图,并且允许向上和向下滑动以更改主视图?(...转到下一个或上一个(如果它们在“提要”中)。) 这是我制作的一段视频,目的是完美地将我的情况可视化:https://youtu.be/6MhFQu0AZx4 *(在视频中,红色框是用户看到的屏幕,我正在尝试 ..
发布时间:2022-06-12 12:11:02 移动开发

如何从位置管理器只复制一次用户位置?

我在位置管理器类中有一个函数,用于获取用户的当前位置坐标。它更新太频繁,不适合我在另一个视图中使用。我正试图想出一种不那么频繁或次数有限的方法来获得这个位置,但我什么也想不出来。我的猜测是,它将需要时间戳或类似的方法,我不熟悉。我们非常感谢您的帮助。 func locationManager(_ manager: CLLocationManager, didUpdateLocations l ..
发布时间:2022-05-24 15:57:14 移动开发

在SwiftUI中更新/编辑数组元素的最佳方法

我有一组可识别的培训元素。每个培训元素只有两个属性:名称和isRequired。 将数组元素的现有值更新为新的编辑值的最直接(最快速)方法是什么?然后将编辑的值提交到数据库。 是否可以将EditTraining视图(子)中的状态设置为传入的(父)值,然后编辑子视图中的状态? 我被困在这件事上的时间比我所承认的还要长。 非常感谢您的帮助! 代码如下: import S ..
发布时间:2022-05-15 12:01:30 移动开发

关于在SWIFT中使用泛型类型扩展可选类型的问题

我试图做一个安全解包的扩展,我工作的是它的两个版本,一个长代码形式,第二个短代码形式!但出乎意料的是,它们并不起作用!就我所能看到的我的代码而言,我只是把所有的事情都纠正了!要修复这两个版本,我缺少什么? struct ContentView: View { let test: String? = "Hello, World!" var body: som ..
发布时间:2022-05-06 22:50:33 移动开发

检查后在SwiftUI中将可选绑定设置为nil时异常

我有一个带有State变量的视图,该变量是Optional。我呈现视图的方法是:首先检查可选变量是否为nil,如果不是,则使用Binding强制解包装它并将其传递到子视图中。 但是,如果我在值和nil之间切换可选变量,应用程序会崩溃,并且我在函数BindingOperations.ForceUnwrapping.get(base:)中得到EXC_BAD_INSTRUCTION。如何才能获得仅显示 ..
发布时间:2022-05-06 21:15:22 其他开发

如何在wiftUI中使用TextInput for WatchOS

通常我会使用presentTextInputControllerWithSuggestions()来显示TextInput字段。但这在wiftUI中不可用,因为它是WKInterfaceController的一个函数。为此,我必须使用WKInterfaceController吗? 我在文档中找不到任何内容。 推荐答案 这将通过SwiftUI中的TextField完成。 ..
发布时间:2022-05-06 20:11:31 其他开发

SwiftUI:设置拾取器行高

对于大字体,Picker中的行重叠。如何更改Picker's行高?(提示:.lineSpacing修饰符不执行此操作。) 另见 此问题类似于Ejaaz的问题,但他的问题到目前为止仍未得到回答。 问题 代码 以下可运行代码产生上述结果。我真的不想要不同大小的线条,我只想要大字体合适。我已经尝试插入Spacers,在这里和那里添加.frame修饰语,.lineSpacin ..
发布时间:2022-04-19 14:44:16 其他开发

SwiftUI-如何将工具栏添加到导航视图中的TabView标签?

我正在尝试将不同的toolbar添加到我的每个选项卡中,但它们没有显示。该应用程序将主要在横向iPad上使用,我可以将工具栏添加到TabView本身并显示它们,但我不知道如何将向下按下导航堆栈的按钮传递到要在本地处理的单个视图/视图模型。 我已尝试添加新的NavigationView%s(包括.stacknavigationViewStyle%s),但这仍然只是向视图中添加另一列。 这 ..
发布时间:2022-04-17 21:00:18 其他开发

在SwiftUI/AVPlayer中艰难应对NotificationCenter/Combine

我正在尝试在项目播放结束时暂停AVPlayer。使用SwiftUI实现这一点的最佳方式是什么?我不太了解通知,在哪里声明它们,等等。有什么方法可以使用联合来实现这一点吗?样例代码将会非常棒!提前谢谢您。 更新: 在下面答案的帮助下,我成功地创建了一个类,它接受AVPlayer并在项目结束时发布通知。您可以通过以下方式订阅通知: 类: import Combine impor ..
发布时间:2022-04-17 18:04:44 移动开发