相关疑难解决方法(0)

如何在不同子视图中使用 TextFields 更改 SwiftUI 应用程序的 FocusState,而不需要刷新导致弹跳效果的视图?

我的问题:我希望用户能够从 Textfield 转到 TextField,而视图不会弹起,如下面的 gif 所示。

我的用例:我在多个子视图中有多个文本字段和文本编辑器。这些 TextField 是动态生成的,因此我希望 FocusState 成为一个单独的问题。

我在下面制作了一个 gif 示例和代码示例。

在此输入图像描述

请检查一下,任何建议表示赞赏。

正如评论中所建议的,我做了一些更改,但对弹跳没有影响:

 - Using Identfiable does not change the bounce
 - A single observed object or multiple and a view model does not change the bounce
Run Code Online (Sandbox Code Playgroud)

我认为这是来自状态更改刷新。如果不是刷新导致跳出(正如用户在评论中建议的那样),那么是什么?使用 FocusState 时有没有办法阻止这种反弹?

重现:创建一个新的 iOS 应用程序 xcode 项目,并将内容视图替换为下面的代码正文。当用户从一个文本字段转到下一个文本字段时,它似乎会刷新视图,导致整个屏幕跳动。

代码示例

import SwiftUI

struct MyObject: Identifiable, Equatable {
    var id: String
    public var value: String
    init(name: String, value: String) {
        self.id = name
        self.value = value
    }
}

struct …
Run Code Online (Sandbox Code Playgroud)

focus textfield ios swift swiftui

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

标签 统计

focus ×1

ios ×1

swift ×1

swiftui ×1

textfield ×1