如何調用具有特定大小的視圖?

創建

我有一個關於 swiftui 中的視圖的問題。

我創建了一個文件 CircleView,它在中間顯示了一個圓圈和一個文本。此外,我在 ContentView 和 DetailView 中創建了一個列表以獲取詳細信息。我現在在列表和詳細視圖中使用創建的圓圈。不幸的是,圓的大小是在 CircleView 中定義的,我不知道如何單獨更改它,以便它在列表中顯示很小,並在詳細信息視圖中使用全寬。那麼如何單獨更改視圖的大小呢?

這是我的代碼

圓視圖:

struct CircleView: View {
  var body: some View {
    ZStack{
        Circle()
            .fill(Color.blue)
            .frame(width: 250, height: 250)
        Text("VIEW")
            .frame(width: 100, height: 100)
            .font(.largeTitle)
            .foregroundColor(.white)
    }
  }
}

內容視圖:

struct ContentView: View {
    var body: some View {
        
        NavigationView {
            List{
                NavigationLink(destination: DetailsView()) {
                  HStack{
                    Text("Hello")
                    Spacer()
                    CircleView()
                  }
                }.navigationTitle("Home")     
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

詳情查看:

struct DetailsView: View {
    var body: some View {
        VStack{
            Text("Hello, World!")
                .padding(10)
            CircleView()
        }
    }
}
彥成

您應該從視圖中刪除設置的框架並在使用視圖時應用它。

您編輯的代碼:

struct Sample: View {
    var body: some View {
        NavigationView {
            List{
                NavigationLink(destination: DetailsView()) {
                    HStack{
                        Text("Hello")
                        Spacer()
                        CircleView()
                            .frame(width: 100 , height: 100) // <-- Update frame here
                    }
                }.navigationTitle("Home")
            }
        }
    }
}

struct CircleView: View {
    var body: some View {
        ZStack{
            Circle()
                .fill(Color.blue)
            Text("VIEW")
                .font(.largeTitle)
                .foregroundColor(.white)
        }
    }
}

struct Sample_Previews: PreviewProvider {
    static var previews: some View {
        Sample()
    }
}


struct DetailsView: View {
    var body: some View {
        VStack{
            Text("Hello, World!")
                .padding(10)
            CircleView().padding()
        }
    }
}

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用具有定义大小的对象创建类

如何使用具有相对大小的ScrollPanel

使一個視圖與另一個在 SwiftUI 中具有動態大小的視圖大小相同

如何使用具有特定主题的特定样式?

如何禁用具有特定类的复选框?

使用具有特定簇的 sklearn 进行 K 折叠,而不是以特定大小拆分

如何使列表具有特定大小(k)

如何在flutter / dart中使用具有设定大小的自定义字体?

調用具有僅在運行時已知的特定類型的泛型方法並返回該類型?

如何用具有可变值的特定前缀替换所有字符串

如何调用具有double&

如何使用具有特定条件的嵌套实体返回nHibernate实体

如何在ghci中调用具有特定数据结构的函数

如何使用具有特定类型的折叠表达式?

如何使用具有特定标题的CSS隐藏元素?

如何使用具有特定格式的JTextField编辑txt文件?

如何动态加载和调用具有库特定类型作为函数参数的符号

如何使用archunit验证方法注释是否正在使用具有特定值的属性

如何在jquery或angularjs中使用具有特定属性的标签名称获取元素

如何在jQuery的for循环中禁用具有特定ID的按钮

如何使用具有特定参数的 Nexus 的 Prisma 插件 crud

如何使用具有特定条件的case语句求和唯一值

如何从属性方面调用具有属性名称和前缀的特定方法?

如何在python列表中引用具有特定值的条目

如何使用具有特定值的列数对表进行重新排序

如何在PHP多维数组中引用具有特定条件的单元格

如何在单个地图上使用具有渐变效果的 FIP 绘制特定的美国县

如何使用具有特定密钥和 IV 长度的 AES / CBC 128 加密刺痛

如何使用 Javascript 客戶端調用具有枚舉參數的 SignalR Hub 方法?