所以我想使用SwiftUI呈现一个新视图,而用户不必点击按钮,因为NavigationButton可以使用它。这是一个例子
struct ContentView : View {
var model: Model
var body: some View {
NavigationView {
Text("Hello World")
}.onAppear {
if model.shouldPresent {
// present a new view
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在onAppearI中,我想包含一些将新视图推送到导航堆栈的代码。
我想要一个显示多行文本的 SwiftUI 视图,具有以下要求:
感觉最合适的解决方案是拥有一个列表视图,包装原生 UITextView/NSTextView。
这是我到目前为止所拥有的。它实现了大多数要求,除了具有正确的行高度。
//
// ListWithNativeTexts.swift
// SUIToy
//
// Created by Jaanus Kase on 03.05.2020.
// Copyright © 2020 Jaanus Kase. All rights reserved.
//
import SwiftUI
let number = 20
struct ListWithNativeTexts: View {
var body: some View {
List(texts(count: number), id: \.self) { text in
NativeTextView(string: text)
}
}
}
struct ListWithNativeTexts_Previews: PreviewProvider {
static var previews: some View {
ListWithNativeTexts()
}
} …Run Code Online (Sandbox Code Playgroud) swiftui swiftui-list uiviewrepresentable nsviewrepresentable