小编Sou*_*hra的帖子

如何使用 swiftUI 在视图主体内使用变量?

我正在尝试使用一个变量并在 swiftui 的 foreach 中进行修改。

下面是我正在使用的代码。请让我知道如何修改视图主体内的值。

struct SearchView : View {
var chatmember = ChatMember(with: JSON())

var body: some View{
    VStack(spacing: 10){
        VStack{
            prefView()
                .padding(.bottom, 30)
            Text("Tap to start making friend")
        }
        ScrollView(.horizontal, content: {
            HStack(spacing: 10) {
                ForEach(userDataList) { user in
                     chatmember = ChatMember(hashValue: 0, email: "", fullName: "", online: "", userId: user.userId, userImage: "", deviceToken: "", deviceType: .iOS, deviceId: "")
                    NavigationLink(destination: ChatView(chatMember: self.chatmember)){
                        SearchUser()
                    }
                }
            }
            .padding(.leading, 10)
        })
            .frame(width: 300, height: 400)

        Spacer()
    }
    .navigationBarTitle("Profile",displayMode: .inline) …
Run Code Online (Sandbox Code Playgroud)

swift swiftui swiftui-list swiftui-navigationlink

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

如何设置文本字段字符限制 SwiftUI?

我正在使用 SwiftUi 版本 2 进行应用程序开发。我遇到了 SwiftUI 中可用文本字段的问题。我不想再使用 UITextField 了。我想限制文本字段中的字符数。我搜索了很多,找到了一些与此相关的答案,但这些答案不适用于 SwiftUI 版本 2。

class textBindingManager: ObservableObject{
    let characterLimit: Int
    @Published var phoneNumber = "" {
        didSet {
            if phoneNumber.count > characterLimit && oldValue.count <= characterLimit {
                phoneNumber = oldValue
            }            
        }
    }
    init(limit: Int = 10) {
        characterLimit = limit
    }    
}
Run Code Online (Sandbox Code Playgroud)
struct ContentView: View {
    @ObservedObject var textBindingManager = TextBindingManager(limit: 5)        
    var body: some View {
        TextField("Placeholder", text: $textBindingManager.phoneNumber)
    }
}
Run Code Online (Sandbox Code Playgroud)

validation textfield ios swift swiftui

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

如何使用 SwiftUI 设置导航栏标题的图像?

我想使用 SwiftUI 在 NavigationBar 的 titleView 中设置图像。我们可以使用 UIKit 来做到这一点,如下所示:

navigationItem.titleView = UIImageView(image: UIImage(named: "logo"))
Run Code Online (Sandbox Code Playgroud)

这就是我们在 UIKit 中的做法。

我如何使用 SwiftUI 来实现这一目标?

uinavigationbar titleview ios swift swiftui

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