Popularity
1.1
Stable
Activity
0.0
Stable
39
4
4

Programming language: Swift
License: MIT License
Tags: UI    
Latest version: v1.1.0

NeumorphismKit alternatives and similar libraries

Based on the "UI" category.
Alternatively, view NeumorphismKit alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of NeumorphismKit or a related project?

Add another 'UI' Library

README

IMG_0561

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

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.


*Note that all licence references and agreements mentioned in the NeumorphismKit README section above are relevant to that project's source code only.