小编col*_*ole的帖子

SwiftUI - TabView 禁用背景透明度

iOS 15TabView有没有办法禁用透明度?如果我的没有填满整个屏幕,则背景是透明的,我希望始终显示背景。ListTabViewTabView

在此输入图像描述

swiftui

8
推荐指数
1
解决办法
3788
查看次数

VStack 中的中心图像领先对齐

我很难找到正确的解决方案来将内部ImageaVStack与 对齐.leading。我已经尝试并得到了这些结果,但是有没有更有效的方法而不是Spacer()在 中添加两个HStack?

struct ContentView: View {
    var body: some View {
        ZStack {
            ScrollView {
                VStack (alignment: .leading, spacing: 10) {
                    Text("Title ")
                    HStack {
                        Spacer()
                        Image(systemName:"star.fill")
                            .resizable()
                            .frame(width: 20, height: 20, alignment: .center)
                        Spacer()
                    }
                    Divider()
                }
            }
        }
        .padding(.all)
    }
}
Run Code Online (Sandbox Code Playgroud)

结盟

swiftui

4
推荐指数
1
解决办法
2215
查看次数

SwiftUI 圆位置 x 和 y

我无法找出正确的方法来找到要放置的 x 和 y 坐标以及Image我overlay正在制作的进度视图的正确位置。我希望最终结果看起来像屏幕截图,只是不确定我会使用什么公式。至少可以说,我的数学能力很差。

GeometryReader { geometry in
    ZStack {
        Circle()
            .trim(from: 0.0, to: 0.5)
            .stroke(Color.blue, style: StrokeStyle(lineWidth: 5))
            .rotationEffect(.degrees(-180))
            .frame(width: geometry.size.width)
            .opacity(0.5)
            .overlay(Circle()
                        .trim(from: 0.0, to: CGFloat(configuration.fractionCompleted ?? 0) / 2)
                        .stroke(Color.blue, style: StrokeStyle(lineWidth: 5))
                        .rotationEffect(.degrees(-180))
                        .frame(width: geometry.size.width).overlay(
                            Circle()
                                .frame(width: 20, height: 20)
                                .position(x: 0, y: 0)
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

ios swift swiftui

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

Codable 中的多种类型

我正在使用一个 API,它可以根据项目返回一个值Bool或一个值。Int我不熟悉如何处理数据中一个值的不同类型Codable。额定键可以是对象或布尔值,只是不确定如何正确处理它而不出现错误typeMismatch。这是我第一次使用 API 遇到这种情况。

\n
{"id":550,"favorite":false,"rated":{"value":9.0},"watchlist":false}\n
Run Code Online (Sandbox Code Playgroud)\n
{\xe2\x80\x9cid":405,"favorite":false,"rated":false,"watchlist":false}\n
Run Code Online (Sandbox Code Playgroud)\n
struct AccountState: Codable {\n    let id: Int?\n    let favorite: Bool?\n    let watchlist: Bool?\n    let rated: Rated?\n}\n\nstruct Rated : Codable {\n    let value : Int? // <-- Bool or Int\n}\n
Run Code Online (Sandbox Code Playgroud)\n

swift codable

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

SwiftUI 列出单个可选项目

我正在尝试创建一个List并允许一次仅选择一个项目。我将如何循环执行此操作ForEach?我可以很好地选择多个项目,但最终目标是在List. 这甚至可能不是处理我正在尝试的事情的正确方法。

struct ContentView: View {

    var body: some View {
        NavigationView {
            List((1 ..< 4).indices, id: \.self) { index in
                CheckmarkView(index: index)
                    .padding(.all, 3)
            }
            .listStyle(PlainListStyle())
            .navigationBarTitleDisplayMode(.inline)
            //.environment(\.editMode, .constant(.active))
        }
    }
}

struct CheckmarkView: View {
    let index: Int
    @State var check: Bool = false
    
    var body: some View {
        Button(action: {
            check.toggle()
        }) {
            HStack {
                Image("Image-\(index)")
                    .resizable()
                    .frame(width: 70, height: 70)
                    .cornerRadius(13.5)
                Text("Example-\(index)")
                Spacer()
                if check {
                    Image(systemName: "checkmark")
                        .resizable()
                        .frame(width: …
Run Code Online (Sandbox Code Playgroud)

swiftui

0
推荐指数
1
解决办法
4234
查看次数

标签 统计

swiftui ×4

swift ×2

codable ×1

ios ×1