Contents

pmusolino/pmsuperbutton

PMSuperButton is a powerful UIButton coming from the countryside, but with super powers! ๐Ÿ˜Ž

Top 100 Coolest Super Powers:

  • [x] Edit everything directly from storyboard or code ๐Ÿ˜
  • [x] Change border color, width
  • [x] Customize the corner radius
  • [x] Set a gradient background
  • [x] Edit everything about the shadows: color, opacity, offset
  • [x] Animations when the button is highlighted ๐Ÿค—
  • [x] Animations when the button is selected
  • [x] Ripple tap effect, where you can edit ripple color and ripple speed (like a Google Material button) ๐Ÿ˜ฎ
  • [x] Toggle functionality
  • [x] Image View content mode and alpha
  • [x] Touch up inside closure ๐Ÿค 
  • [x] Loader ๐Ÿคœ๐Ÿค›
  • [x] Swift 3, 4 and Swift 5 support
  • [x] 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.

<p align="center"> <img src="https://github.com/pmusolino/PMSuperButton/blob/master/docs/interface_builder.png?raw=true" width=500 alt="Icon"/> </p>

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

<p align="center"> <img src="https://github.com/pmusolino/PMSuperButton/blob/master/docs/configuration1.png?raw=true" width=250 alt="Icon"/> </p>

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.

Package Metadata

Repository: pmusolino/pmsuperbutton

Default branch: master

README: README.md