AKASegmentedControl alternatives and similar libraries
Based on the "Switch" category.
Alternatively, view AKASegmentedControl alternatives based on common mentions on social networks and blogs.
-
HMSegmentedControl
A highly customizable drop-in replacement for UISegmentedControl. -
RAMPaperSwitch
:octocat: ๐ RAMPaperSwitch is a Swift material design UI module which paints over the parent view when the switch is turned on. iOS library by @Ramotion -
BetterSegmentedControl
An easy to use, customizable replacement for UISegmentedControl & UISwitch. -
DGRunkeeperSwitch
Runkeeper design switch control -
TwicketSegmentedControl
Custom UISegmentedControl replacement for iOS, written in Swift -
SevenSwitch
iOS7 style drop in replacement for UISwitch -
AIFlatSwitch
Nicely animated flat design switch alternative to UISwitch -
SJFluidSegmentedControl
A segmented control with custom appearance and interactive animations. Written in Swift 3.0. -
TKSwitcherCollection
An animation switch collection -
PinterestSegment
A Pinterest-like segment control with masking animation. -
LUNSegmentedControl
Customizable segmented control with interactive animation. -
MultiSelectSegmentedControl
UISegmentedControl remake that supports selecting multiple segments, vertical stacking, combining text and images. -
JTMaterialSwitch
A Customizable Switch UI for iOS, Inspired from Google's Material Design -
ViralSwitch
A UISwitch that infects its superview with its tint color. -
DynamicMaskSegmentSwitch
A segment switcher with dynamic text mask effect -
AnimatedSwitch
UISwitch which paints over the parent view with the color in Swift. -
Switcher
Swift - Custom UISwitcher with animation when change status -
Switch
๐ An iOS switch control implemented in Swift with full Interface Builder support -
YUSegment
A customizable Segmented Control for iOS. Supports text and image.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of AKASegmentedControl or a related project?
README
AKASegmentedControl
AKASegmentedControl is a fully customizable Segmented Control for iOS
Preview
Usage
Installation
CocoaPods
You can use CocoaPods to install AKASegmentedControl
by adding it to your Podfile
:
platform :ios, '8.0'
use_frameworks!
pod 'AKASegmentedControl'
To get the full benefits import AKASegmentedControl.h
wherever you import UIKit
#import "AKASegmentedControl.h"
Manually
- Download and drop
/AKASegmentedControl
folder in your project. - Congratulations!
Usage
// Initialization of the segmented control
AKASegmentedControl *segmentedControl = [[AKASegmentedControl alloc] initWithFrame:aRect]
[segmentedControl addTarget:self action:@selector(segmentedControlValueChanged:) forControlEvents:UIControlEventValueChanged];
// Setting the resizable background image
UIImage *backgroundImage = [[UIImage imageNamed:@"segmented-bg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0)];
[segmentedControl setBackgroundImage:backgroundImage];
// Setting the content edge insets to adapte to you design
[segmentedControl setContentEdgeInsets:UIEdgeInsetsMake(2.0, 2.0, 3.0, 2.0)];
// Setting the behavior mode of the control
[segmentedControl setSegmentedControlMode:AKASegmentedControlModeSticky];
// Setting the separator image
[segmentedControl setSeparatorImage:[UIImage imageNamed:@"segmented-separator.png"]];
UIImage *buttonBackgroundImagePressedLeft = [[UIImage imageNamed:@"segmented-bg-pressed-left.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0, 4.0, 0.0, 1.0)];
UIImage *buttonBackgroundImagePressedCenter = [[UIImage imageNamed:@"segmented-bg-pressed-center.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0, 4.0, 0.0, 1.0)];
UIImage *buttonBackgroundImagePressedRight = [[UIImage imageNamed:@"segmented-bg-pressed-right.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0, 1.0, 0.0, 4.0)];
// Button 1
UIButton *buttonSocial = [[UIButton alloc] init];
UIImage *buttonSocialImageNormal = [UIImage imageNamed:@"social-icon.png"];
[buttonSocial setImageEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, 0.0, 5.0)];
[buttonSocial setBackgroundImage:buttonBackgroundImagePressedLeft forState:UIControlStateHighlighted];
[buttonSocial setBackgroundImage:buttonBackgroundImagePressedLeft forState:UIControlStateSelected];
[buttonSocial setBackgroundImage:buttonBackgroundImagePressedLeft forState:(UIControlStateHighlighted|UIControlStateSelected)];
[buttonSocial setImage:buttonSocialImageNormal forState:UIControlStateNormal];
[buttonSocial setImage:buttonSocialImageNormal forState:UIControlStateSelected];
[buttonSocial setImage:buttonSocialImageNormal forState:UIControlStateHighlighted];
[buttonSocial setImage:buttonSocialImageNormal forState:(UIControlStateHighlighted|UIControlStateSelected)];
// Button 2
UIButton *buttonStar = [[UIButton alloc] init];
UIImage *buttonStarImageNormal = [UIImage imageNamed:@"star-icon.png"];
[buttonStar setBackgroundImage:buttonBackgroundImagePressedCenter forState:UIControlStateHighlighted];
[buttonStar setBackgroundImage:buttonBackgroundImagePressedCenter forState:UIControlStateSelected];
[buttonStar setBackgroundImage:buttonBackgroundImagePressedCenter forState:(UIControlStateHighlighted|UIControlStateSelected)];
[buttonStar setImage:buttonStarImageNormal forState:UIControlStateNormal];
[buttonStar setImage:buttonStarImageNormal forState:UIControlStateSelected];
[buttonStar setImage:buttonStarImageNormal forState:UIControlStateHighlighted];
[buttonStar setImage:buttonStarImageNormal forState:(UIControlStateHighlighted|UIControlStateSelected)];
// Button 3
UIButton *buttonSettings = [[UIButton alloc] init];
UIImage *buttonSettingsImageNormal = [UIImage imageNamed:@"settings-icon.png"];
[buttonSettings setBackgroundImage:buttonBackgroundImagePressedRight forState:UIControlStateHighlighted];
[buttonSettings setBackgroundImage:buttonBackgroundImagePressedRight forState:UIControlStateSelected];
[buttonSettings setBackgroundImage:buttonBackgroundImagePressedRight forState:(UIControlStateHighlighted|UIControlStateSelected)];
[buttonSettings setImage:buttonSettingsImageNormal forState:UIControlStateNormal];
[buttonSettings setImage:buttonSettingsImageNormal forState:UIControlStateSelected];
[buttonSettings setImage:buttonSettingsImageNormal forState:UIControlStateHighlighted];
[buttonSettings setImage:buttonSettingsImageNormal forState:(UIControlStateHighlighted|UIControlStateSelected)];
// Setting the UIButtons used in the segmented control
[segmentedControl setButtonsArray:@[buttonSocial, buttonStar, buttonSettings]];
// Adding your control to the view
[viewController.view addSubview:segmentedControl];
This segmented control is a subclass of UIControl and you just need to add a target if you want to trigger a method:
// Adding a target
[segmentedControl addTarget:self action:@selector(segmentedControlTouched:) forControlEvents:UIControlEventValueChanged];
Check the example project for further details.
Requirements
- iOS >= 4.3
- ARC
Contact
Ali Karagoz
License
AKASegmentedControl is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the AKASegmentedControl README section above
are relevant to that project's source code only.