使用HMSegmentedControl实现分段控件

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

HMSegmentedControl 是 UISegmentedControl 的替代品,模仿了 Google Currents 使用的效果。

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 to
    your project.
  • Add QuartzCore.framework to
    your linked frameworks.
  • #import "HMSegmentedControl.h" where
    you want to add the control.

Usage

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

    HMSegmentedControl *segmented = [[HMSegmentedControl alloc] initWithSectionTitles:@[@"已收公告",@"已发公告"]];
    segmented.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth;
    segmented.frame = CGRectMake(self.view.bounds.size.width/2-100, 4, 200, 40);
    segmented.backgroundColor = [UIColor clearColor];
    segmented.selectionIndicatorHeight = 3.0f;
    segmented.font = [UIFont fontWithName:@"STHeitiSC-Light" size:19.0f];
    segmented.textColor = WHRGB(255, 175, 185);
    segmented.selectedTextColor = [UIColor whiteColor];
    segmented.selectionIndicatorColor = [UIColor whiteColor];
    segmented.selectionStyle = HMSegmentedControlSelectionStyleFullWidthStripe;
    segmented.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationDown;
    [segmented addTarget:self action:@selector(segmentedControlChangedValue:) forControlEvents:UIControlEventValueChanged];
    self.segmentedControl = segmented;
    [self.navigationController.navigationBar addSubview:segmented];

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

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

时间: 2024-10-06 09:37:37

使用HMSegmentedControl实现分段控件的相关文章

iOS中的分段控件(UISegmentedControl)和滑块控件(UISlider)

#import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //分段控件 //1.创建控件 /* NSArray *items = @[@"轻拍

UISegmentedControl分段控件

分段控件提供了一栏按钮,但是每次只能激活一个按钮,每一个按钮对应不同的屏幕显示的东西(这里的不同,应该理解为数据的不同,view是相同的,如筛选出不同的信息,但是view是一样的(布局样式是一样的)). RootView.m // 创建segmentcontrol // 创建数组 NSMutableArray *itemsArr = [NSMutableArray array]; [itemsArr addObject:@"first"]; [itemsArr addObject:@&

分段控件UISegmentedControl

分段控件UISegmentedControl继承与UIControl UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"全部商家", @"优惠商家", @"我的"]]; segmentedControl.center = CGPointMake(182, 45); // 每个segment的大小默认平分整个segmentedCo

iOS系列 基础篇 09 开关、滑块和分段控件

iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块控件(Slider)和分段控件(Segmented Control)都是UIControl的子类,本篇我们将通过一个案例和大家一起学习这三个控件的使用. 如下图所示,本案例包括两个开关控件Switch.一个分段控件(Segmented Control).两个标签(Label)和一个滑块控件(Slid

iOS_book 02 - 基本交互(约束、视图控制器、基本控件:按钮、文本框、分段控件、开关、标签、图像控件)

实现基本交互 MVC模式 Cocoa Touch 设计者们采用MVC(Model-View-Controller, 模型 - 视图 - 控制器)模式作为指导原则. MVC 模式把代码功能划分为3个不同的类别. 模型: 保存应用程序数据的类. 视图:包括窗口.控件以及其他一些用户可以看到并能与之交互的元素. 控制器:把模型和视图绑定在一起的代码,包括处理用户输入的应用程序逻辑. MVC的目标最大限度地分离这三类代码.MVC可以帮助确保代码的最大可重用性. 控制器组件通常有应用程序的具体类组成.控制

分段控件 (UISegmentedControl)

一. 分段控件 (UISegmentedControl) 控件展示 : 1. UISegmentedControl 控件属性 (1) Style 属性 Style 属性 :       -- Plain : 分段控件使用最普通的风格; -- Bordered : 在最普通风格上添加一圈边框; -- Bar : 分段控件使用工具条风格; (2) State 属性 State 属性 : -- Momentary 复选框 : 勾选复选框后, 分段控件不保存控件状态, 如果勾选后, 点击时高亮, 点击后

UISegmentedControl——分段控件

分段控件,提供了一组按钮,但是只能激活一个.通过UIControlEventValueChanged事件实现与用户的交互,并通过selectedSegmentIndex判断当前选定的控件,通过titleForSegmentAtIndex可以获取当前选中控件的标题. - (void)viewDidLoad { [super viewDidLoad]; //分段控件中各控件的标题 NSArray *array = @[@"未支付",@"已支付",@"已到货&q

UISegmentedControl 分段控件

#import "AppDelegate.h" #import "RootViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (void)dealloc { [_window release]; [super dealloc]; } - (BOOL)application:(UIApplication *)application didFinishLaunchi

[Swift通天遁地]九、拔剑吧-(4)使用开源类库创建可滑动的Segment分段控件

本文将演示创建多种自定义Segment分段样式的控件. 首先确保已经安装了所需的第三方类库.双击查看安装配置文件[Podfile] 1 platform :ios, ‘12.0’ 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'TwicketSegmentedControl' 7 end 根据配置文件中的相关设置,安装第三方类库. 安装完成之后,双