小编Dai*_*na 的帖子

onTapGesture 不适用于自定义视图

我试图在选择按钮时更改按钮的颜色。当我按下按钮时没有任何变化。似乎 .onTapGesture 不适用于自定义视图。

我尝试使用 Buttons 而不是 .onTapGesture,但它也不起作用。.contentShape 不起作用。我也尝试过使用列表,效果很好。但我认为有更好的方法。

import SwiftUI

struct UserSettings: View {
    

@State private var selectedIndex: Int = 0

var body: some View {
   
        VStack {
            
                HStack(spacing: 0) {
                    
                    ForEach(0..<3) { subIndex in
                        let pat = customPatterns1[subIndex]
                                
                        PatternOptionView(pat: pat, isSelected: subIndex == selectedIndex)
                            .contentShape(Rectangle())

                       
                        .onTapGesture(perform: {
                            selectedIndex = subIndex
                        })
                    }
                }
               
                    
        }

}

}

struct UserSettings_Previews: PreviewProvider {
    static var previews: some View {
        UserSettings()
    }
}
Run Code Online (Sandbox Code Playgroud)

我的自定义视图:

    import SwiftUI

struct PatternOptionView: View {
    var pat: PatternView …
Run Code Online (Sandbox Code Playgroud)

swiftui

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

标签 统计

swiftui ×1