SwiftUI 프레임 내 어디서나 반응, Long Press도 반응하는 버튼 만들기
하고 싶은 일
① 프레임 내 어디서나 반응
②Tap:Tap용 액션
③Long Press: Long Press용 액션
1st 액션
코드
VStack(spacing: 16.0) {
Button(action: {
print("Button Action!!")
}, label: {
Text("Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
})
.onLongPressGesture {
print("Button Action Long!!")
}
Text("Text Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
.onTapGesture {
print("Text Action!!")
}
.onLongPressGesture {
print("Text Action Long!!")
}
.foregroundColor(.blue)
}
.padding(32.0)
.background(Color(.systemGray6))
결과
하고 싶은 일을 모두 이룰 수는 없다.
Button는 Long Press를 반작용할 수 없다.
Text는 프레임 내 어디서나 반응할 수 없다.
현재 해결책
코드
VStack(spacing: 16.0) {
Text("Text2 Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
.overlay(RoundedRectangle(cornerRadius: 16.0).foregroundColor(Color.red.opacity(0.0000001)))
.onTapGesture {
print("Text2 Action!!")
}
.onLongPressGesture {
print("Text2 Action Long!!")
}
.foregroundColor(.blue)
}
.padding(32.0)
.background(Color(.systemGray6))
외형
시도는 계속된다
・탭과 롱 프레스를 시키는 UI 디자인이 어떻습니까?
·그 밖에 방법이 있는 것이 아닌가.
Reference
이 문제에 관하여(SwiftUI 프레임 내 어디서나 반응, Long Press도 반응하는 버튼 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cloudsnow/items/07de0b26c14f1f5c54d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
코드
VStack(spacing: 16.0) {
Button(action: {
print("Button Action!!")
}, label: {
Text("Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
})
.onLongPressGesture {
print("Button Action Long!!")
}
Text("Text Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
.onTapGesture {
print("Text Action!!")
}
.onLongPressGesture {
print("Text Action Long!!")
}
.foregroundColor(.blue)
}
.padding(32.0)
.background(Color(.systemGray6))
결과
하고 싶은 일을 모두 이룰 수는 없다.
Button는 Long Press를 반작용할 수 없다.
Text는 프레임 내 어디서나 반응할 수 없다.
현재 해결책
코드
VStack(spacing: 16.0) {
Text("Text2 Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
.overlay(RoundedRectangle(cornerRadius: 16.0).foregroundColor(Color.red.opacity(0.0000001)))
.onTapGesture {
print("Text2 Action!!")
}
.onLongPressGesture {
print("Text2 Action Long!!")
}
.foregroundColor(.blue)
}
.padding(32.0)
.background(Color(.systemGray6))
외형
시도는 계속된다
・탭과 롱 프레스를 시키는 UI 디자인이 어떻습니까?
·그 밖에 방법이 있는 것이 아닌가.
Reference
이 문제에 관하여(SwiftUI 프레임 내 어디서나 반응, Long Press도 반응하는 버튼 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/cloudsnow/items/07de0b26c14f1f5c54d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
VStack(spacing: 16.0) {
Text("Text2 Button")
.frame(width: 200, height: 100, alignment: .center)
.overlay(RoundedRectangle(cornerRadius: 16.0).stroke())
.overlay(RoundedRectangle(cornerRadius: 16.0).foregroundColor(Color.red.opacity(0.0000001)))
.onTapGesture {
print("Text2 Action!!")
}
.onLongPressGesture {
print("Text2 Action Long!!")
}
.foregroundColor(.blue)
}
.padding(32.0)
.background(Color(.systemGray6))
・탭과 롱 프레스를 시키는 UI 디자인이 어떻습니까?
·그 밖에 방법이 있는 것이 아닌가.
Reference
이 문제에 관하여(SwiftUI 프레임 내 어디서나 반응, Long Press도 반응하는 버튼 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cloudsnow/items/07de0b26c14f1f5c54d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)