SwiftUI JSON不会在ScrollView HStack中打印标题(但会在列表中显示)

罗素·哈勒

我在ContentView.swift文件中遇到错误,并且在尝试学习时,我不明白错误在说什么。

我知道它不能将Program类型的值分配给Post类型,但是我要获得标题的意思是什么?

我怎样才能在HStack中打印出来?

错误

import SwiftUI
import RemoteImage

struct ContentView: View {
  
    @State var posts: [Program] = []
    
   var body: some View {
    List(posts){ post in
        
        Text("hello")
        
        /*RemoteImage(type: .url(URL(string:post.url)!), errorView: { error in
            Text(error.localizedDescription)
        }, imageView: { image in
            image
            .resizable()
            .aspectRatio(contentMode: .fit)
        }, loadingView: {
            Text("Loading ...")
        })*/
        
        
       // UrlImageView(post.url)
        } .onAppear {
           Api().getPosts { (posts) in
                            self.posts = posts
                           }
                    }
    

    
   
     
        }
}
import SwiftUI

// Add this top level struct to
// decode properly
struct Post: Codable {
    var programs: [Program]
}

struct Program: Codable, Identifiable {
    let id = UUID()
    var title : String
    var icon : String
}

class Api {
    // Update this to return an array of Program
    func getPosts(completion: @escaping ([Program]) -> ()) {
        guard let url = URL(string: "https://api.drn1.com.au/api-access/programs/DRN1") else { return }
        
        URLSession.shared.dataTask(with: url) { (data, _, _) in
            // Based on the updated structs, you would no
            // longer be decoding an array
            let post = try! JSONDecoder().decode(Post.self, from: data!)
            DispatchQueue.main.async{
                // The array is stored under programs now
                completion(post.programs)
            }
            
        }
    .resume()
    }
}

这也可以,但是不能滚动。

  ForEach(posts){ post in
                  HStack {Text(post.title)}
               }.onAppear{
                   Api().getPosts { (posts) in
                       self.posts = posts
                   }
               }

要明确的是,我想要得到的最终结果是这个。

ScrollView(.horizontal) {
    HStack(spacing: 20) {
        ForEach(0..<10) {
            Text("Item \($0)")
                .foregroundColor(.white)
                .font(.largeTitle)
                .frame(width: 200, height: 200)
                .background(Color.red)
        }
    }
}
拉贾特·米什拉(Rajat Mishra)

请清理并构建项目。该代码似乎正常工作。我创建了一个新项目,并简单地复制并粘贴了您编写的上述代码,它可以正常工作。

编辑-要水平显示列表,请使用以下代码:

var body: some View {
    NavigationView {
        if posts.isEmpty {
            Text("Loading")
        } else {
            ScrollView(.horizontal, showsIndicators: false) {
                HStack(alignment: .center, spacing: 10) {
                    ForEach(posts) { post in
                        return Text(post.title)
                    }
                }
            }.frame(height: 200)
        }
    }.onAppear {
        Api().getPosts { (posts) in
            self.posts = posts
        }
    }.navigationBarTitle(Text("Home"))
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

UndoManager的canUndo属性不会在SwiftUI中更新

来自分类Dev

用户默认值不会在列表SwiftUI中更新

来自分类Dev

SwiftUI视图不会在单独的视图中更新

来自分类Dev

为什么不会在swiftui类中加载核心数据,但会在结构视图中加载

来自分类Dev

线性布局不会在 ScrollView 中扩展

来自分类Dev

启动firefox时,它不会在应用程序中显示,但会在进程中显示

来自分类Dev

如何从滑块菜单中启动SwiftUI中的新视图,以便它不会在滑块本身中启动

来自分类Dev

如果ScrollView是父级,则不会在RelativeLayout(Android)中显示TableLayout

来自分类Dev

剧情不会在Jupyter中显示

来自分类Dev

图片不会在wordpress中显示

来自分类Dev

图像不会在 xamarin 中显示

来自分类Dev

片段不会在活动中显示

来自分类Dev

SyncFusion SfChart 不会在 iOS 模拟器(白屏)中呈现,但会在 Visual Studio Preview 中显示?

来自分类Dev

SwiftUI:Picker不会在同一视图中更新文本

来自分类Dev

SwiftUI GeometryReader不会在中心布局自定义子视图

来自分类Dev

SwiftUI不会在嵌套NavigationLink目标中使用ObservedObject更新UI

来自分类Dev

SwiftUI-计时器不会在0处停止

来自分类Dev

Firestore不会在不重新加载应用程序的情况下更新SwiftUI网格

来自分类Dev

SwiftUI:Picker不会在同一视图中更新文本

来自分类Dev

为什么SwiftUI不会在此fullScreenCover上隐藏我的状态栏?

来自分类Dev

数据不会在文档中解析,但会在Python中的虚拟数据中解析

来自分类Dev

Premake生成的解决方案不会在Release中编译,但会在Debug中编译

来自分类Dev

文本阴影不会在DIV中触发,但会在BODY中触发

来自分类Dev

Javascript/Jquery 不会在 Safari 中更改 URL 参数,但会在 Chrome 中更改

来自分类Dev

ListView 项不会在 onCreate 中更改其背景颜色,但会在 onItemClick 中更改

来自分类Dev

xtitle不会在Ubuntu 11.04中更改标题

来自分类Dev

具有大JSON的简单ngTable不会在单元格中显示任何数据

来自分类Dev

使用PHPWord不会在文档中打印任何内容

来自分类Dev

Java不会在txt文件中打印每个元素

Related 相关文章

  1. 1

    UndoManager的canUndo属性不会在SwiftUI中更新

  2. 2

    用户默认值不会在列表SwiftUI中更新

  3. 3

    SwiftUI视图不会在单独的视图中更新

  4. 4

    为什么不会在swiftui类中加载核心数据,但会在结构视图中加载

  5. 5

    线性布局不会在 ScrollView 中扩展

  6. 6

    启动firefox时,它不会在应用程序中显示,但会在进程中显示

  7. 7

    如何从滑块菜单中启动SwiftUI中的新视图,以便它不会在滑块本身中启动

  8. 8

    如果ScrollView是父级,则不会在RelativeLayout(Android)中显示TableLayout

  9. 9

    剧情不会在Jupyter中显示

  10. 10

    图片不会在wordpress中显示

  11. 11

    图像不会在 xamarin 中显示

  12. 12

    片段不会在活动中显示

  13. 13

    SyncFusion SfChart 不会在 iOS 模拟器(白屏)中呈现,但会在 Visual Studio Preview 中显示?

  14. 14

    SwiftUI:Picker不会在同一视图中更新文本

  15. 15

    SwiftUI GeometryReader不会在中心布局自定义子视图

  16. 16

    SwiftUI不会在嵌套NavigationLink目标中使用ObservedObject更新UI

  17. 17

    SwiftUI-计时器不会在0处停止

  18. 18

    Firestore不会在不重新加载应用程序的情况下更新SwiftUI网格

  19. 19

    SwiftUI:Picker不会在同一视图中更新文本

  20. 20

    为什么SwiftUI不会在此fullScreenCover上隐藏我的状态栏?

  21. 21

    数据不会在文档中解析,但会在Python中的虚拟数据中解析

  22. 22

    Premake生成的解决方案不会在Release中编译,但会在Debug中编译

  23. 23

    文本阴影不会在DIV中触发,但会在BODY中触发

  24. 24

    Javascript/Jquery 不会在 Safari 中更改 URL 参数,但会在 Chrome 中更改

  25. 25

    ListView 项不会在 onCreate 中更改其背景颜色,但会在 onItemClick 中更改

  26. 26

    xtitle不会在Ubuntu 11.04中更改标题

  27. 27

    具有大JSON的简单ngTable不会在单元格中显示任何数据

  28. 28

    使用PHPWord不会在文档中打印任何内容

  29. 29

    Java不会在txt文件中打印每个元素

热门标签

归档