NeumorphismUI is a library that can be used with SwiftUI. Compatible with Swift Package Manager.
NeumorphismUI is a very useful library that allows you to easily use Neumorphism designs in SwiftUI.
let neumorphism = NeumorphismManager( isDark: false, lightColor: Color(hex: "C1D2EB"), darkColor: Color(hex: "2C292C") )let contentView = ContentView() .environmentObject(neumorphism)
import SwiftUI import NeumorphismUIstruct SimpleView: View { @EnvironmentObject var neumorphism: NeumorphismManager
var body: some View { ZStack { neumorphism.color.edgesIgnoringSafeArea(.all) Circle() .fill(neumorphism.color) .frame(width: 200, height: 200) .neumorphismShadow() } }
}
let neumorphism = NeumorphismManager( isDark: true, lightColor: Color(hex: "C1D2EB"), darkColor: Color(hex: "2C292C") )let contentView = ContentView() .environmentObject(neumorphism)
Rectangle() .fill(neumorphism.color) .neumorphismConcave(shapeType: .rectangle, color: nil) .frame(width: 256, height: 100)RoundedRectangle(cornerRadius: 16) .fill(neumorphism.color) .neumorphismConcave(shapeType: .roundedRectangle(cornerRadius: 16), color: nil) .frame(width: 256, height: 100)
Circle() .fill(neumorphism.color) .neumorphismConcave(shapeType: .circle, color: nil) .frame(width: 150, height: 150)
Ellipse() .fill(neumorphism.color) .neumorphismConcave(shapeType: .ellipse, color: nil) .frame(width: 300, height: 100)
Capsule(style: .circular) .fill(neumorphism.color) .neumorphismConcave(shapeType: .capsule, color: nil) .frame(width: 300, height: 100)
NeumorphismButton( shapeType: .roundedRectangle(cornerRadius: 20), normalImage: Image(systemName: "star"), selectedImage: Image(systemName: "star.fill") )
Simple Usage!
struct NeumorphismSliderView: View { @EnvironmentObject var neumorphism: NeumorphismManager @State private var value: Double = 0var body: some View { ZStack { neumorphism.color.edgesIgnoringSafeArea(.all) VStack { Text("VALUE: \(value)") .foregroundColor(self.neumorphism.fontColor()) NeumorphismSlider(value: self.$value, changeHandler: { // call change method }) { // call ended method } } } }
}