NeumorphismKit is neumorphism framework for UIKit.
Requirements
- iOS 12.0+
- Swift 5.1+
Versions
NeumorphismKit version | Xcode version |
---|---|
1.0.0 | Xcode 11+ |
1.1.0 | Xcode 12+ |
Installation
CocoaPods
To integrate NeumorphismKit into your Xcode project using CocoaPods, specify it in your Podfile
:
platform :ios, '12.0'
use_frameworks!
target '<TargetName>' do
pod 'NeumorphismKit', '~> 1.0'
end
Then, run the following command:
$ pod install
Carthage
To integrate NeumorphismKit into your Xcode project using Carthage, specify it in your Cartfile
:
github "y-okudera/NeumorphismKit" ~> 1.0
Run carthage update
to build the framework and drag the built NeumorphismKit.framework
into your Xcode project.
Usage
Storyboard
You can start NeumorphismKit on the storyboard.
- Set 'NeumorphismButton' to a custom class of UIButton.
- Set the same color as the background color of SuperView to the base color of the button.
Code
You can also start NeumorphismKit on code.
let neumorphismButton = NeumorphismButton(frame: .init(x: 0, y: 0, width: 120.0, height: 40.0))
neumorphismButton.baseColor = self.view.backgroundColor ?? .white
neumorphismButton.center = self.view.center
neumorphismButton.setTitle("BUTTON", for: .normal)
let titleColor = UIColor(red: 160 / 255, green: 70 / 255, blue: 255 / 255, alpha: 1.0)
neumorphismButton.setTitleColor(titleColor, for: .normal)
self.view.addSubview(neumorphismButton)
NeumorphismTabBarController
When using NeumorphismTabBarController, implement the inherited class.
import NeumorphismKit
import UIKit
class YourTabBarController: NeumorphismTabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.nskDelegate = self
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// If it is an empty string, the title will be hidden.
let btn1 = NeumorphismTabBarItem(title: "", icon: UIImage(named: "your_tab_img1")!)
let btn2 = NeumorphismTabBarItem(title: "", icon: UIImage(named: "your_tab_img2")!)
let btn3 = NeumorphismTabBarItem(title: "", icon: UIImage(named: "your_tab_img3")!)
let btn4 = NeumorphismTabBarItem(title: "Timeline", icon: UIImage(named: "your_tab_img4")!)
let btn5 = NeumorphismTabBarItem(title: "Users", icon: UIImage(named: "your_tab_img5")!)
// Set tuples for viewController and NeumorphismTabBarItem.
self.setup(viewControllers: [
(viewController: MainViewController.instantiate(), tabBarItem: btn1),
(viewController: OtherViewController.instantiate(text: "View1"), tabBarItem: btn2),
(viewController: OtherViewController.instantiate(text: "View2"), tabBarItem: btn3),
(viewController: OtherViewController.instantiate(text: "View3"), tabBarItem: btn4),
(viewController: OtherViewController.instantiate(text: "View4"), tabBarItem: btn5),
])
}
}
extension YourTabBarController: NeumorphismTabBarControllerDelegate {
// Delegate when switching tabs.
func finishedSwitchingTab(fromIndex: Int, toIndex: Int) {
print("fromIndex: \(fromIndex) toIndex: \(toIndex)")
}
}
Then set YourTabBarController on the storyboard.
Other components can be used as well. See Demo project.
Author
Yuki Okudera, [email protected]
License
NeumorphismKit is available under the MIT license. See the LICENSE file for more info.