NeumorphismKit 1.1.0

NeumorphismKit 1.1.0

Maintained by Yuki Okudera.



  • By
  • YukiOkudera

NeumorphismKit

Version Carthage Compatible License Platform

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.

  1. Set 'NeumorphismButton' to a custom class of UIButton.

Usage_1

  1. Set the same color as the background color of SuperView to the base color of the button.

Usage_2

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

TabBar

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.