【SwiftUI】NeumorphismButton 만들어 보았다
1667 단어 SwiftUI
환경
【Xcode】11.7
【Swift】5.2.4
【iOS】13.7
【macOS】Catalina 버전 10.15.7
만드는 법
기본 색상 만들기
extension Color {
static let offWhite = Color(red: 245 / 255, green: 245 / 255, blue: 255 / 255)
}
앱 전체에서 사용하기 때문에 extension에서 정의해 둡니다.
ViewModifier로 설정
struct NeumorphismStyle: ViewModifier {
var height: CGFloat
var ratio: CGFloat
func body(content: Content) -> some View {
content
.padding(10)
.background(
GeometryReader(){ geometry in
RoundedRectangle(cornerRadius: 30,
style: .continuous)
.fill(Color.offWhite)
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 10, y: 10)
.shadow(color: Color.white.opacity(0.5), radius: 10, x: -5, y: -5)
.frame(width:geometry.size.width * self.ratio,
height: self.height)
}
)
}
}
높이 → 값으로 지정
폭 → 부모 요소의 폭에 대한 배율
범용적으로 사용하기 위해 설정한 View의 크기를 참조하여 너비를 결정합니다.
설정 방법
NavigationLink(destination: SecondView()) {
Text("NextView")
.modifier(NeumorphismStyle(height: 50, ratio: 1.5))
}
참고 기사
Reference
이 문제에 관하여(【SwiftUI】NeumorphismButton 만들어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maeken_0216/items/750c6990f24be8894c14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
기본 색상 만들기
extension Color {
static let offWhite = Color(red: 245 / 255, green: 245 / 255, blue: 255 / 255)
}
앱 전체에서 사용하기 때문에 extension에서 정의해 둡니다.
ViewModifier로 설정
struct NeumorphismStyle: ViewModifier {
var height: CGFloat
var ratio: CGFloat
func body(content: Content) -> some View {
content
.padding(10)
.background(
GeometryReader(){ geometry in
RoundedRectangle(cornerRadius: 30,
style: .continuous)
.fill(Color.offWhite)
.shadow(color: Color.black.opacity(0.2), radius: 10, x: 10, y: 10)
.shadow(color: Color.white.opacity(0.5), radius: 10, x: -5, y: -5)
.frame(width:geometry.size.width * self.ratio,
height: self.height)
}
)
}
}
높이 → 값으로 지정
폭 → 부모 요소의 폭에 대한 배율
범용적으로 사용하기 위해 설정한 View의 크기를 참조하여 너비를 결정합니다.
설정 방법
NavigationLink(destination: SecondView()) {
Text("NextView")
.modifier(NeumorphismStyle(height: 50, ratio: 1.5))
}
참고 기사
Reference
이 문제에 관하여(【SwiftUI】NeumorphismButton 만들어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maeken_0216/items/750c6990f24be8894c14텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)