小编Leg*_*ang的帖子

如何在 SwiftUI 中向 TextEditor 添加占位符文本?

使用 SwiftUI 的新 TextEditor 时,您可以直接使用 @State 修改其内容。但是,我还没有看到向其中添加占位符文本的方法。现在可行吗?

在此处输入图片说明

我添加了一个 Apple 在他们自己的翻译应用程序中使用的示例。这似乎是一个支持占位符文本的多行文本编辑器视图。

user-interface uikit ios swift swiftui

21
推荐指数
7
解决办法
8103
查看次数

Xcode的核心数据图去哪儿了?

我以为右上角曾经有一个 Xcode 的关系图(如橙色矩形所示)。但 Xcode 14 缺少它。

有谁知道它去哪里?或者我怎样才能把它拿回来?

谢谢!

在此输入图像描述

xcode core-data wwdc

11
推荐指数
1
解决办法
2893
查看次数

iOS 13 为 iOS 呈现 Modal 半屏,为 iPadOS 呈现弹出框

在此处输入图片说明

我想要实现的是与 iOS 13 的共享视图完全相同的行为。我想在 iPad 上将我的自定义选择器视图显示为 popover,在 iPhone 上显示为半模态。我目前在情节提要上使用“present as popover”,我获得了在 popover 和 modal 之间免费自动切换的默认行为。我想我需要切换到自定义控制器,但我不知道如何实现这一点。

popover uipopovercontroller presentmodalviewcontroller ios13

7
推荐指数
0
解决办法
960
查看次数

SwiftUI 应用程序:如何隐藏 macOS 应用程序的标题栏?

不是 MacCatalyst应用程序或 SwiftUI macOS 应用程序。但是一个带有 macOS 目标的 iOS 应用程序(如下所示)。我试图在此设置中隐藏 macOS 应用程序的标题栏。

在此输入图像描述

  • .windowStyle(HiddenTitleBarWindowStyle())不会工作,因为这不是传统的 macOS 应用程序。因此,该 API 不可用。

  • titlebar.titleVisibility = .hidden不会工作,因为这不是
    催化剂应用程序。另外,sceneDelegate在
    SwiftUI生命周期中并不存在。

我正在尝试寻找适用于上面屏幕截图的情况的解决方案。以 macOS 11+ 作为部署目标的 iOS 应用程序。

一些用户指出这是一个 MacCatalyst 应用程序。我已经结束了上一个问题。但经过一些测试,我可以确认这确实不是 MacCatalyst。这是在 Mac 上运行 iOS 应用程序的一种新方式,仅在 Apple Silicon Mac 上可用。MacCatalyst 目标仅指 Rosetta 方法。

如下图所示。我的问题是关于在 My Mac(专为 iPad 设计)上隐藏状态栏

在此输入图像描述

测试代码如下。MacCatalyst 代码仅在目标 Mac(Rosetta) 上调用 在此输入图像描述

与我的问题相关的新 API 是ProcessInfo.processInfo.isiOSAppOnMac。我想知道如何在这种特殊情况下隐藏标题。

macos ios swift swiftui apple-m1

6
推荐指数
0
解决办法
1097
查看次数

如何以编程方式触发 SwiftUI DatePicker?

如下图所示,如果您输入日期“2023 年 1 月 11 日”,它会显示日期选择器。我想要实现的是在其他地方有一个按钮,当单击该按钮时,自动显示此日期选择器。

有谁知道是否有办法实现它?

DatePicker("Jump to", selection: $date, in: dateRange, displayedComponents: [.date]) 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

以下是对@rob mayoff 答案的测试。我仍然不明白为什么它还不起作用。

我使用 iPhone 14 和 iOS 16.2 模拟器在 Xcode 14.2 以及设备上进行了测试。我注意到,虽然被triggerDatePickerPopover()调用,但它永远无法到达button.accessibilityActivate()

import SwiftUI

struct ContentView: View {
  @State var date: Date = .now
  let dateRange: ClosedRange<Date> = Date(timeIntervalSinceNow: -864000) ... Date(timeIntervalSinceNow: 864000)

  var pickerId: String { "picker" }

  var body: some View {
    VStack {
      DatePicker(
        "Jump to",
        selection: $date,
        in: dateRange,
        displayedComponents: [.date]
      )
      .accessibilityIdentifier(pickerId)

      Button("Clicky") {
        triggerDatePickerPopover() …
Run Code Online (Sandbox Code Playgroud)

date datepicker ios swift swiftui

5
推荐指数
1
解决办法
3548
查看次数

如何忽略 SwiftUI 模态背景,或使模态背景清晰/透明?

目前,我们为 swiftUI 模式提供了免费的不透明白色/黑色背景。无论如何,有没有办法删除免费的不透明颜色并使模态视图透明?

在下图中,即使呈现模式,最终结果也应该能够看到图像。

在此输入图像描述

background transparent ios swift swiftui

4
推荐指数
1
解决办法
3014
查看次数

SwiftUI ShareLink 工作表没有保存到相册选项

使用 SwiftUI 的新功能ShareLink,带有照片。共享表没有保存到相册选项。有谁知道我如何才能获得该选项,因为我需要将图像保存到照片库中。

正如您在下面的屏幕截图中看到的,它只有添加到共享相册选项。

struct Photo: Transferable {
    static var transferRepresentation: some TransferRepresentation {
        ProxyRepresentation(\.image)
    }

    public var image: Image
    public var caption: String
}

ShareLink(item: photo, preview: SharePreview(photo.caption, image: Image("miniIcon"))) { }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

wwdc ios swift swiftui

4
推荐指数
1
解决办法
678
查看次数

如何在 Xcode 中编辑 Markdown 文件?

我不知道如何在 Xcode 中编辑 Markdown 文件。该文件似乎以只读模式呈现。是否有任何设置允许我在 Xcode 中编辑 Markdown 文件?

我正在尝试向苹果示例项目的 README.md https://developer.apple.com/documentation/pencilkit/drawing_with_pencilkit添加注释

在 Xcode 中打开的 Markdown 文件的屏幕截图

markdown xcode

3
推荐指数
1
解决办法
2334
查看次数

Xcode 11 Beta 5中的API更改后,如何在SwiftUI中为TextField使用RoundedBorderTextFieldStyle?

在Xcode 11 Beta 5之前,我使用以下语法在我的TextField外部放置了一个圆角边框:

TextField(“ Expression”,文本:$ expression).textFieldStyle(.roundedBorder)

可悲的是,这种方法已被弃用,现在给我警告。

新方法应该是:不推荐使用roundedBorder:RoundedBorderTextFieldStyle直接使用。

但是我想不出一种使用它的方法。

从开发人员文档中可以看出。RoundedBorderTextFieldStyle符合协议TextFieldStyle。

而且TextField似乎具有RoundedBorderTextFieldStyle作为嵌套结构?(不确定我是否理解正确,RoundedBorderTextFieldStyle写在开发人员文档的TextField下面)

我不知道如何使用新的RoundedBorderTextFieldStyle。

我正在寻找在Beta 5中编写以下代码的正确方法:

    TextField("Placeholder", text: $texts)
        .textFieldStyle(.roundedBorder)
Run Code Online (Sandbox Code Playgroud)

beta xcode textfield swiftui

1
推荐指数
1
解决办法
948
查看次数