Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/stormotion-mobile/lunsegmentedcontrol

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/stormotion-mobile/lunsegmentedcontrol

  • v0.0.0-20170322144642-9c6a2a7889d8
  • Source
  • Go
  • Socket score

Version published
Created
Source

LUNSegmentedControl

Purpose

LUNSegmentedControl is control designed to let developers use segmented control with custom appearance, customizable interactive animation and other pretty things like gradient for states and shadow.

Supported OS & SDK Versions

  • Supported build target - iOS 8.0

ARC Compatibility

LUNSegmentedControl requires ARC.

Installation

To use the LUNSegmentedControl in your app, just drag the LUNSegmentedControl folder into your project.

Or you can use CocoaPods

pod 'LUNSegmentedControl'

Usage

Add a UIView and change its class to LUNSegmentedControl. Then you need to set its data source (either from the storyboard or programmaticaly). Implement the data source method that returns the segment count:

- (NSInteger)numberOfStatesInSegmentedControl:(LUNSegmentedControl *)segmentedControl;

Now implement one of the Data Source methods so you can set either a string, an attributed string or a view to be displayed in every segment.

- (NSString *)segmentedControl:(LUNSegmentedControl *)segmentedControl titleForStateAtIndex:(NSInteger)index;
- (NSAttributedString *)segmentedControl:(LUNSegmentedControl *)segmentedControl attributedTitleForStateAtIndex:(NSInteger)index;
- (UIView *)segmentedControl:(LUNSegmentedControl *)segmentedControl viewForStateAtIndex:(NSInteger)index;

If necessary, you can set a string, an attributed string or a view for the selected state for each segment with the help of following Data Source methods:

- (NSString *)segmentedControl:(LUNSegmentedControl *)segmentedControl titleForSelectedStateAtIndex:(NSInteger)index;
- (NSAttributedString *)segmentedControl:(LUNSegmentedControl *)segmentedControl attributedTitleForSelectedStateAtIndex:(NSInteger)index;
- (UIView *)segmentedControl:(LUNSegmentedControl *)segmentedControl viewForSelectedStateAtIndex:(NSInteger)index;

After that you can set the following parameters (either from the storyboard or programmaticaly) in order to change the way your control looks:

@property (nonatomic, assign) IBInspectable CGFloat cornerRadius;

In case you want to customize corner radius of the control.

@property (nonatomic, strong) IBInspectable UIColor *textColor;

Change that if you want to customize text color for titles of unselected segments.

@property (nonatomic, strong) IBInspectable UIColor *selectedStateTextColor;

It is used to change the text color of the title for the selected segment.

@property (nonatomic, strong) IBInspectable UIColor *selectorViewColor;

That’s how you change the color of selection itself.

In addition, you can set a color (or a number of colors to get a gradient) for each segment, left and right bounces with the help of the following data source methods:

- (NSArray <UIColor *> *)segmentedControl:(LUNSegmentedControl *)segmentedControl gradientColorsForStateAtIndex:(NSInteger)index;
- (NSArray <UIColor *> *)segmentedControl:(LUNSegmentedControl *)segmentedControl gradientColorsForBounce:(LUNSegmentedControlBounce)bounce;

If you want to recieve notifications about position changes, set control's delegate.

Check out the documentation to find description for more methods and properties you may use.

License

Usage is provided under the MIT License

FAQs

Package last updated on 22 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc