小编Ron*_*nie的帖子

SwiftUI - 有没有办法创建只读文本编辑器?

我正在 SwiftUI 中使用 TextEditor 来显示长文本的内容。

我希望它是只读的,但每当我点击它时,键盘都会弹出。

有没有办法使 TextEditor 成为只读并且当用户点击它时看不到键盘?

我已经尝试过,.disabled()但这不好,因为它会阻止控制器滚动,而且就像我说的,控制器包含很长的文本。

Text不好,因为它不滚动。

ios swift swiftui

8
推荐指数
2
解决办法
5015
查看次数

我们可以将 willSet 和 didSet 与 getter 和 setter 一起使用吗?

我正在阅读有关 swift 属性的 willset 和 didset 我开始知道我可以将这些与具有初始值的变量一起使用,如下所示:

var property = "name"
{
    willSet
    {
        print("property is about to changed")
    }
    didSet
    {
        if property == oldValue
        {
            print("values are same")
        }
        else
        {
            print("value changed")
        }
    }
}

property = "anothername"
Run Code Online (Sandbox Code Playgroud)

那么我可以像下面这样使用 willget 和 didset 吗:

var property2:String{

    willSet
    {
        print("value is about to change")
    }
    didSet
    {
        print("value is changes")
    }
}
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

non-member observing properties require an initializer
var property2:String{
    ^
Run Code Online (Sandbox Code Playgroud)

所以任何人都可以向我解释这里发生了什么,我可以将 getter 和 setter 与 willset 和 …

properties getter-setter swift

7
推荐指数
2
解决办法
6254
查看次数

如何在 SwiftUI 上启用核心数据加密?

当我们处理包含委托的 UIKit 项目时,我们只需要添加以下代码

do {
    // Define Options
    let options: [AnyHashable: Any] = [
        NSPersistentStoreFileProtectionKey: FileProtectionType.complete
    ]

    // Add Persistent Store
    try persistentStoreCoordinator.addPersistentStore(ofType: NSSQLiteStoreType,
                                                      configurationName: nil,
                                                      at: persistentStoreURL,
                                                      options: options)
} catch {
    // Error Handling
    ...
}
Run Code Online (Sandbox Code Playgroud)

为核心数据启用加密。

但是,当您有一个 SwiftUI 应用程序,而没有 DELEGATE仅包含一个名为“包含此内容”的文件时,该怎么做Persistense.swift

import CoreData

struct PersistenceController {
    static let shared = PersistenceController()

    static var preview: PersistenceController = {
        let result = PersistenceController(inMemory: true)
        let viewContext = result.container.viewContext
      return result
    }()

    let container: NSPersistentContainer

    init(inMemory: Bool = …
Run Code Online (Sandbox Code Playgroud)

core-data swift swiftui

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

SwiftUI - Sheet 和 ActionSheet 有什么区别?

SwiftUI 有以下两个修饰符:

.actionSheet(isPresented: $showActionPurchase) { () -> ActionSheet in
Run Code Online (Sandbox Code Playgroud)

.sheet(isPresented: $showAlert,
Run Code Online (Sandbox Code Playgroud)

一个提出了一个行动表,另一个提出了一个表(?)

为什么?这些元素之间有什么区别(如果有的话)?

swift swiftui actionsheet

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