您的位置:首页 > 产品设计 > UI/UE

分段控件 (UISegmentedControl)

2016-01-07 09:48 351 查看

一. 分段控件 (UISegmentedControl)

控件展示 :



1. UISegmentedControl 控件属性

(1) Style 属性

Style 属性 :





-- Plain : 分段控件使用最普通的风格;

-- Bordered : 在最普通风格上添加一圈边框;

-- Bar : 分段控件使用工具条风格;

(2) State 属性

State 属性 :



-- Momentary 复选框 : 勾选复选框后, 分段控件不保存控件状态, 如果勾选后, 点击时高亮, 点击后恢复原样;

(3) Tint 属性

Tint 属性 :



-- 作用 : 设置分段控件被选中的高亮颜色;

-- 效果展示 :



(4) Segments 属性

Segments 属性 :



-- 作用 : 控制分成几段;

-- 展示效果 :



(5) Segment 属性

Segment 属性 :







-- 作用 : 为不同的分段设置对应的 标题, 图片 等内容;

(6) Tittle 属性

Tittle 属性 : 每个 Segment 都有一个 Tittle 属性, 就是分段按钮每个按钮的标题;

(7) Image 属性

Image 属性 : 为不同的 分段 Segment 设置图片;

(8) Behavior 属性

Behavior 属性 :

-- Enable 复选框 : 用于设置 Segment 是否可用;

-- Selected 复选框 : 用于设置 Segment 是否被选中;

2. 使用 UISegmentedControl 改变背景颜色

(1) 设置 UISegmentedControl 属性

UISegmentedControl 属性 :



-- 属性截图 :



(2) 设置 UISegmentedControl 响应方法

创建 UISegmentedControl 的 IBAction :

-- 按住 control 键将 UISegmentedControl 拖动到 OCViewController.h 中 :



-- 设置 IBAction 属性 :



-- 方法代码 :

[objc] view plaincopy

- (IBAction)segmentControl:(id)sender {

int index = [sender selectedSegmentIndex];

switch (index) {

case 0:

self.baseView.backgroundColor = [UIColor whiteColor];

break;

case 1:

self.baseView.backgroundColor = [UIColor blackColor];

break;

case 2:

self.view.backgroundColor = [UIColor greenColor];

break;

case 3:

self.view.backgroundColor = [UIColor blueColor];

break;

default:

break;

}

}

(3) 代码示例

代码示例 :

-- OCViewController.h :

[objc] view plaincopy

//

// OCViewController.h

// UISegmentedControl

//

// Created by octopus on 15-12-4.

// Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface OCViewController : UIViewController

//背景 UIView

@property (strong, nonatomic) IBOutlet UIView *baseView;

- (IBAction)segmentControl:(id)sender;

@end

-- OCViewController.m :

[objc] view plaincopy

//

// OCViewController.m

// UISegmentedControl

//

// Created by octopus on 15-12-4.

// Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.

//

#import "OCViewController.h"

@interface OCViewController ()

@end

@implementation OCViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (IBAction)segmentControl:(id)sender {

int index = [sender selectedSegmentIndex];

switch (index) {

case 0:

self.baseView.backgroundColor = [UIColor whiteColor];

break;

case 1:

self.baseView.backgroundColor = [UIColor blackColor];

break;

case 2:

self.view.backgroundColor = [UIColor greenColor];

break;

case 3:

self.view.backgroundColor = [UIColor blueColor];

break;

default:

break;

}

}

@end

-- 界面展示 :



3. 动态增加删除分段

(1) 主要 API 简介

插入 删除分段 :

-- 插入分段 : 调用 segmentControl 的 insertSegmentWithTittle 方法, 参数一 标题, 参数二 插入索引;

[objc] view plaincopy

[self.segmentControl insertSegmentWithTitle:tittle atIndex:count animated:YES];

-- 删除分段 : 删除只需注明 索引值 即可;

[objc] view plaincopy

[self.segmentControl removeSegmentAtIndex:count - 1 animated:YES];

(2) 源码示例

源码示例 :

-- 界面设计文件 :



-- OCViewController.h :

[objc] view plaincopy

//

// OCViewController.h

// UISegmentedControl

//

// Created by octopus on 15-12-4.

// Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface OCViewController : UIViewController

//背景 UIView

@property (strong, nonatomic) IBOutlet UIView *baseView;

//分段控件

@property (strong, nonatomic) IBOutlet UISegmentedControl *segmentControl;

//单行文本

@property (strong, nonatomic) IBOutlet UITextField *textField;

//分段控件方法

- (IBAction)segmentControl:(id)sender;

//点击背景控件方法

- (IBAction)clickBackGround:(id)sender;

//添加分段控件

- (IBAction)addSegment:(id)sender;

//删除分段控件

- (IBAction)minusSegment:(id)sender;

@end

-- OCViewController.m :

[objc] view plaincopy

//

// OCViewController.m

// UISegmentedControl

//

// Created by octopus on 15-12-4.

// Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.

//

#import "OCViewController.h"

@interface OCViewController ()

@end

@implementation OCViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

//分段控件响应方法

- (IBAction)segmentControl:(id)sender {

int index = [sender selectedSegmentIndex];

switch (index) {

case 0:

self.baseView.backgroundColor = [UIColor whiteColor];

break;

case 1:

self.baseView.backgroundColor = [UIColor blackColor];

break;

case 2:

self.view.backgroundColor = [UIColor greenColor];

break;

case 3:

self.view.backgroundColor = [UIColor blueColor];

break;

default:

break;

}

}

- (IBAction)clickBackGround:(id)sender {

// 点击背景 取消虚拟键盘

[self.textField resignFirstResponder];

}

//添加分段控件

- (IBAction)addSegment:(id)sender {

NSUInteger count = self.segmentControl.numberOfSegments;

NSString * tittle = self.textField.text;

if ([tittle length] > 0) {

[self.segmentControl insertSegmentWithTitle:tittle atIndex:count animated:YES];

self.textField.text = @"";

}

}

//删除分段控件

- (IBAction)minusSegment:(id)sender {

NSUInteger count = self.segmentControl.numberOfSegments;

[self.segmentControl removeSegmentAtIndex:count - 1 animated:YES];

}

@end

-- 界面展示 :

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: