我想在收到请求的数据后呈现一个视图,像这样
var body: some View {
VStack {
Text("Company ID")
TextField($companyID).textFieldStyle(.roundedBorder)
URLSession.shared.dataTask(with: url) { (data, _, _) in
guard let data = data else { return }
DispatchQueue.main.async {
self.presentation(Modal(LogonView(), onDismiss: {
print("dismiss")
}))
}
}.resume()
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用SwiftUI显示地图,如果用户点击了注释,它将在VStack中弹出详细视图。我已经制作了地图视图,并在另一个SwiftUI文件中插入了注释。我还做了详细视图。
如何在主视图文件中访问该地图的注释,以定义一个.tapaction,以便他们将其用于详细视图?
我尝试将视图定义为MKMapView,但无法在另一个SwiftUI视图中为UIViewRepresentable做到这一点。
主视图(ContentView)代码为:
struct ContentView: View {
@State private var chosen = false
var body: some View {
VStack {
MapView()
.edgesIgnoringSafeArea(.top)
.frame(height: chosen ? 600:nil)
.tapAction {
withAnimation{ self.chosen.toggle()}
}
if chosen {
ExtractedView()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
MapView代码为:
struct MapView : UIViewRepresentable {
@State private var userLocationIsEnabled = false
var locationManager = CLLocationManager()
func makeUIView(context: Context) -> MKMapView {
MKMapView(frame: .zero)
}
func updateUIView(_ view: MKMapView, context: Context) {
view.showsUserLocation = true
.
.
.
let sampleCoordinates …
Run Code Online (Sandbox Code Playgroud) 我试图在SwiftUI应用程序中添加三成分选择器(UIPickerView)(在传统的UIKit应用程序中,数据源3
将从该numberOfComponents
方法返回),但是我在任何地方都找不到此示例。
我曾尝试添加一个由三个单一组件选择器组成的HStack,但是如果它们全部都属于一个选择器,则其透视图将与之不同。
我正在尝试在 SwiftUI 中实现一个非常基本的 NavigationView。当我尝试在其他网站上看到的示例代码时,它会在 Xcode 中生成一条错误消息。我不确定为什么或如何解决这个问题。
我试图清理项目,退出 Xcode-Beta 并重新启动它,但没有奏效。
struct ContentView : View {
var body: some View {
NavigationView {
Text("This is a great app")
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为上面的代码应该可以工作,但我得到的错误说:
“传递给调用的参数不带参数。”
有什么想法或建议吗?
I installed the Mapbox SDK into my project, but I don't understand how to integrate this code snippet with SwiftUI
.
I created a SwiftUI View
named MapView
, where I import the Mapbox Framework.
I try to use the UIViewRepresentable
protocol, as in Apple's tutorial, but without success.
import Mapbox
class MapView: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let styleURL = URL(string: "mapbox://styles/mapbox/outdoors-v9")
let mapView = MGLMapView(frame: view.bounds,
styleURL: styleURL)
mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
mapView.setCenter(CLLocationCoordinate2D(latitude: 45.52954,
longitude: -122.72317), …
Run Code Online (Sandbox Code Playgroud) 我正在试验 SwiftUI,并希望使用搜索字符串从我的 REST API 获取更新。
但是,我现在不确定如何将这两个组件组合在一起。
我希望你有一个想法。
这是我的代码:
struct ContentView: View {
@State private var searchTerm: String = ""
@ObservedObject var gameData: GameListViewModel = GameListViewModel(searchString: ### SEARCH STRING ???? ###)
var body: some View {
NavigationView{
Group{
// Games werden geladen...
if(self.gameData.isLoading) {
LoadingView()
}
// Games sind geladen:
else{
VStack{
// Suche:
searchBarView(text: self.$searchTerm)
// Ergebnisse:
List(self.gameData.games){ game in
NavigationLink(destination: GameDetailView(gameName: game.name ?? "0", gameId: 0)){
HStack {
VStack(alignment: .leading, spacing: 2) {
Text(game.name ?? "Kein Name gefunden")
.font(.headline) …
Run Code Online (Sandbox Code Playgroud) SwiftUI“ Hello World”可在iOS上运行,但不适用于MacOS。
尝试构建一个简单的“ Hello World” SwiftUI示例,以查看其在Mac上的工作方式,但是我得到了一个空的黑屏应用程序。
我正在使用Xcode 11 MacOS目标已检查MacOS版本10.15 Beta(19A471t)
import SwiftUI
struct ContentView : View {
var body: some View {
VStack {
Toggle(isOn: /*@START_MENU_TOKEN@*/.constant(true)/*@END_MENU_TOKEN@*/) {
Text(/*@START_MENU_TOKEN@*/"Toggle"/*@END_MENU_TOKEN@*/)
}
Stepper(value: /*@START_MENU_TOKEN@*/.constant(4)/*@END_MENU_TOKEN@*/, in: /*@START_MENU_TOKEN@*/1...10/*@END_MENU_TOKEN@*/) {
/*@START_MENU_TOKEN@*/Text("Stepper")/*@END_MENU_TOKEN@*/
}
Text("Hello World")
}
}
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
Run Code Online (Sandbox Code Playgroud) This tutorial by Apple about SwiftUI uses a dollar sign to bind data, and I‘m having trouble finding more information about this data binding in SwiftUI.
Is this some sort of inout
type parameter? That uses the ampersand to pass it on.