PMSuperButton is a powerful UIButton coming from the countryside, but with super powers

PMSuperButton is a powerful UIButton coming from the countryside, but with super powers! ?

An easy way to create custom and complex buttons with custom attributes, directly added to the iOS Interface Builder, very easy to integrate into every project!

Top 100 Coolest Super Powers:

  • Edit everything directly from storyboard or code ?
  • Change border color, width
  • Customize the corner radius
  • Set a gradient background
  • Edit everything about the shadows: color, opacity, offset
  • Animations when the button is highlighted ?
  • Animations when the button is selected
  • Ripple tap effect, where you can edit ripple color and ripple speed (like a Google Material button) ?
  • Toggle functionality
  • Image View content mode and alpha
  • Touch up inside closure ?
  • Loader ?

    ?

  • Swift 3, 4 and Swift 5 support
  • and much more

How it works

The library allows you to use all the features of standard UIButton with a lot of new cool features, customizable from Storyboard or from code.

First of all, drag & drop a new UIButton inside your view controller in storyboard, then set the UIButton class to PMSuperButton:

That’s it! Now you are ready to customize your PMSuperButton from the Attributes Inspector of Interface Builder.

How to use Touch Up Inside closure

IBAction or addTarget() with #selector? No thanks, we have a closure for this:

myButton.touchUpInside {
	print("This button was pressed!")
}
How to show the loader indicator

//Pass `false` to disable user interaction while loading is showed
myButton.showLoader(userInteraction: true)

//Hide loader
myButton.hideLoader()

Requirements

  • iOS 8.0+
  • Xcode 10+

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate PMSuperButton into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'PMSuperButton'

Then, run the following command:

$ pod install

Carthage


Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate PMSuperButton into your Xcode project using Carthage, specify it in your Cartfile:

github "pmusolino/PMSuperButton"

Run carthage update to build the framework and drag the built PMSuperButton.framework into your Xcode project.

Manually

  1. Download and drop /Sources folder in your project.
  2. Congratulations!

Swift compatibility

Contributing

  • If you need help or you’d like to ask a general question, open an issue.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Acknowledgements

Made with

❤️ by Paolo Musolino.

Follow me on:

? Linkedin

? Twitter

? Instagram

??‍? Facebook

MIT License

PMSuperButton is available under the MIT license. See the LICENSE file for more info.

Made with ❤️ by Paolo Musolino.

GitHub

https://github.com/pmusolino/PMSuperButton