ZOYKUHot Board

nealyoung/nysegmentedcontrol기술 문서

Animated, customizable replacement for UISegmentedControl

목차 (TOC) (4개 섹션)▾
언어 대체 안내:해당 저장소의 한국어 문서가 제공되지 않아 공식 영문 원본(English)으로 표시됩니다.
빠른 설치
git clone https://github.com/nealyoung/nysegmentedcontrol.git

NYSegmentedControl

NYSegmentedControl is a customizable, animated replacement for UISegmentedControl inspired by controls found in Instagram, Foursquare, and other apps.

Screenshot

Features

  • Create segmented controls with animated selection indicator
  • Customize colors, gradients, fonts, etc. either directly or globally with UIAppearance
  • Configure distinct text styles for the selected segment
  • VoiceOver/accessibility support

Animated Example

Installation

Manual

Add the files to your project manually by dragging the NYSegmentedControl directory into your Xcode project.

CocoaPods

Add pod 'NYSegmentedControl' to your Podfile, and run pod install.

Usage

Use is largely identical to UISegmentedControl. An example project is included in the NYSegmentedControlDemo directory.

// 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;

License

This project is released under the MIT License.

GitHub 공식 원본 저장소에서 아카이브된 문서 미러 · GitHub 저장소 방문
동기화 기준일: 2026-11-08