내가 사용중인 코드는 다음과 같습니다.
var array = ["Q","W","E","R","T","Y"]
HStack(){
ForEach(0..<topRow.count, id: \.self){i in
MyView(letter: self.array[i])
.onTapGesture {
print("Test")
}
}
}
모든 "MyView"가 올바르게 표시되지만 그중 하나를 누르면 아무것도 인쇄되지 않습니다. 또한 MyView는 단지 text ()입니다.
문제와 해결책을 찾았습니다. New Dev가 지적했듯이 표시된 코드에 포함되지 않은 무언가에 의해 오류가 호출되었습니다. 나는 누군가가 이것을 우연히 발견 할 경우를 대비하여 어쨌든 여기에 무엇이 잘못되었는지 게시 할 것입니다.
포함되지 않은 것은 여기에 넣을 MyView 용 코드입니다.
struct MyView: View {
var letter:String
@State var pressed = false
var body: some View {
ZStack{
if pressed{
Text(letter)
.font(Font.custom("ComicNeue-Bold", size: 30))
.foregroundColor(.white)
.opacity(0.23)
} else if !pressed{
Text(letter)
.font(Font.custom("ComicNeue-Bold", size: 30))
.foregroundColor(.white)
}
}.padding(5)
.onTapGesture {
self.pressed = true
}
}
}
ZStack에서 .onTapGesture를 제거하여 문제를 해결했습니다. 그래서 문제는 뷰가 두 개의 .onTapGesture 수정자를 가질 수 없다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다