0
点赞
收藏
分享

微信扫一扫

HMSegmentedControl 选项卡功能实现


HMSegmentedControl

A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products.

Features

  • Supports both text and images
  • Font and all colors are customizable
  • Supports selection indicator both on top and bottom
  • Supports blocks
  • Works with ARC and iOS >= 5

Installation

CocoaPods

The easiest way of installing HMSegmentedControl is via ​​CocoaPods​​.

pod 'HMSegmentedControl', '~> 1.1.0'

Cocoa-whaa?

If you haven't heard about ​​CocoaPods​​ (seriously, where were you?!), it's a dependency manager for Xcode projects that provides very simple installation of libraries. Here's how to get started.

Install CocoaPods if not already available:



$ [sudo] gem install cocoapods
$ pod setup



Change to the directory of your Xcode project, and Create and Edit your Podfile and add HMSegmentedControl:



$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
platform :ios, '5.0'
pod 'HMSegmentedControl', '~> 1.2.0'



Install into your project:



$ pod install



Open your project in Xcode from the .xcworkspace file (not the usual project file)



$ open MyProject.xcworkspace



Old-fashioned way

  • Add

​HMSegmentedControl.h​

  • and

​HMSegmentedControl.m​

  • Add

​QuartzCore.framework​​​​#import "HMSegmentedControl.h"​

Usage

The code below will create a segmented control with the default looks:



HMSegmentedControl *segmentedControl = [[HMSegmentedControl alloc] initWithSectionTitles:@[@"One", @"Two", @"Three"]];
[segmentedControl setFrame:CGRectMake(10, 10, 300, 60)];
[segmentedControl addTarget:self action:@selector(segmentedControlChangedValue:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:segmentedControl];



Included is a demo project showing how to fully customise the control.

​​

HMSegmentedControl 选项卡功能实现_cocoapods

​​

Change log

  • v1.2.0
  • Added new selection indicator style: HMSelectionIndicatorBox
  • Added ability to set text colour for selected segment (thanks to​​@jmkr​​)
  • Segment titles are now added in a separate CATextLayer, and images are drawn in a separate CALayer
  • Calls to index change block/selector now happen before the animation starts
  • Lots of code refactoring and clean up
  • v1.1.0 (merged pull request from​​@jacksonpan​​)
  • Added image support
  • Support for changing selection indicator position
  • v1.0.0
  • Initial release

Apps using HMSegmentedControl

If you are using HMSegmentedControl in your app or know of an app that uses it, please add it to ​​this list​​.

License

HMSegmentedControl is licensed under the terms of the MIT License. Please see the ​​LICENSE​​ file for full details.

If this code was helpful, I would love to hear from you.

​​@HeshamMegid​​​​http://hesh.am​​

举报

相关推荐

0 条评论