NYSegmentedControl 是一个可自定义、动画效果的 UISegmentedControl 替换,灵感来源于 Instagram、Foursquare 及其他应用中的控件。
通过将 NYSegmentedControl 目录拖放到 Xcode 项目的项目中手动添加文件。
用法与 UISegmentedControl 大致相同。在 NYSegmentedControlDemo 目录中包含一个示例项目。
// Import the class and create an NYSegmentedControl instance
#import "NYSegmentedControl.h"
// ...
NYSegmentedControl *segmentedControl = [[NYSegmentedControl alloc] initWithItems:@[@"Segment 1", @"Segment 2"]];
// Add desired targets/actions
[segmentedControl addTarget:self action:@selector(segmentSelected) forControlEvents:UIControlEventValueChanged];
// Customize and size the control
segmentedControl.borderWidth = 1.0f;
segmentedControl.borderColor = [UIColor colorWithWhite:0.15f alpha:1.0f];
segmentedControl.drawsGradientBackground = YES;
segmentedControl.segmentIndicatorInset = 2.0f;
segmentedControl.drawsSegmentIndicatorGradientBackground = YES;
segmentedControl.segmentIndicatorGradientTopColor = [UIColor colorWithRed:0.30 green:0.50 blue:0.88f alpha:1.0f];
segmentedControl.segmentIndicatorGradientBottomColor = [UIColor colorWithRed:0.20 green:0.35 blue:0.75f alpha:1.0f];
segmentedControl.segmentIndicatorAnimationDuration = 0.3f;
segmentedControl.segmentIndicatorBorderWidth = 0.0f;
[segmentedControl sizeToFit];
// Add the control to your view
self.navigationItem.titleView = self.segmentedControl;
该项目采用 MIT 许可协议发布。