分段控件 (UISegmentedControl)

一. 分段控件 (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

  1. - (IBAction)segmentControl:(id)sender {
  2. int index = [sender selectedSegmentIndex];
  3. switch (index) {
  4. case 0:
  5. self.baseView.backgroundColor = [UIColor whiteColor];
  6. break;
  7. case 1:
  8. self.baseView.backgroundColor = [UIColor blackColor];
  9. break;
  10. case 2:
  11. self.view.backgroundColor = [UIColor greenColor];
  12. break;
  13. case 3:
  14. self.view.backgroundColor = [UIColor blueColor];
  15. break;
  16. default:
  17. break;
  18. }
  19. }

(3) 代码示例

代码示例 :

-- OCViewController.h :

[objc] view plaincopy

  1. //
  2. //  OCViewController.h
  3. //  UISegmentedControl
  4. //
  5. //  Created by octopus on 15-12-4.
  6. //  Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @interface OCViewController : UIViewController
  10. //背景 UIView
  11. @property (strong, nonatomic) IBOutlet UIView *baseView;
  12. - (IBAction)segmentControl:(id)sender;
  13. @end

-- OCViewController.m :

[objc] view plaincopy

  1. //
  2. //  OCViewController.m
  3. //  UISegmentedControl
  4. //
  5. //  Created by octopus on 15-12-4.
  6. //  Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.
  7. //
  8. #import "OCViewController.h"
  9. @interface OCViewController ()
  10. @end
  11. @implementation OCViewController
  12. - (void)viewDidLoad
  13. {
  14. [super viewDidLoad];
  15. // Do any additional setup after loading the view, typically from a nib.
  16. }
  17. - (void)didReceiveMemoryWarning
  18. {
  19. [super didReceiveMemoryWarning];
  20. // Dispose of any resources that can be recreated.
  21. }
  22. - (IBAction)segmentControl:(id)sender {
  23. int index = [sender selectedSegmentIndex];
  24. switch (index) {
  25. case 0:
  26. self.baseView.backgroundColor = [UIColor whiteColor];
  27. break;
  28. case 1:
  29. self.baseView.backgroundColor = [UIColor blackColor];
  30. break;
  31. case 2:
  32. self.view.backgroundColor = [UIColor greenColor];
  33. break;
  34. case 3:
  35. self.view.backgroundColor = [UIColor blueColor];
  36. break;
  37. default:
  38. break;
  39. }
  40. }
  41. @end

-- 界面展示 :

3. 动态增加删除分段

(1) 主要 API 简介

插入 删除分段 :

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

[objc] view plaincopy

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

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

[objc] view plaincopy

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

(2) 源码示例

源码示例 :

-- 界面设计文件 :

-- OCViewController.h :

[objc] view plaincopy

  1. //
  2. //  OCViewController.h
  3. //  UISegmentedControl
  4. //
  5. //  Created by octopus on 15-12-4.
  6. //  Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @interface OCViewController : UIViewController
  10. //背景 UIView
  11. @property (strong, nonatomic) IBOutlet UIView *baseView;
  12. //分段控件
  13. @property (strong, nonatomic) IBOutlet UISegmentedControl *segmentControl;
  14. //单行文本
  15. @property (strong, nonatomic) IBOutlet UITextField *textField;
  16. //分段控件方法
  17. - (IBAction)segmentControl:(id)sender;
  18. //点击背景控件方法
  19. - (IBAction)clickBackGround:(id)sender;
  20. //添加分段控件
  21. - (IBAction)addSegment:(id)sender;
  22. //删除分段控件
  23. - (IBAction)minusSegment:(id)sender;
  24. @end

-- OCViewController.m :

[objc] view plaincopy

  1. //
  2. //  OCViewController.m
  3. //  UISegmentedControl
  4. //
  5. //  Created by octopus on 15-12-4.
  6. //  Copyright (c) 2015年 www.octopus.org.cn. All rights reserved.
  7. //
  8. #import "OCViewController.h"
  9. @interface OCViewController ()
  10. @end
  11. @implementation OCViewController
  12. - (void)viewDidLoad
  13. {
  14. [super viewDidLoad];
  15. // Do any additional setup after loading the view, typically from a nib.
  16. }
  17. - (void)didReceiveMemoryWarning
  18. {
  19. [super didReceiveMemoryWarning];
  20. // Dispose of any resources that can be recreated.
  21. }
  22. //分段控件响应方法
  23. - (IBAction)segmentControl:(id)sender {
  24. int index = [sender selectedSegmentIndex];
  25. switch (index) {
  26. case 0:
  27. self.baseView.backgroundColor = [UIColor whiteColor];
  28. break;
  29. case 1:
  30. self.baseView.backgroundColor = [UIColor blackColor];
  31. break;
  32. case 2:
  33. self.view.backgroundColor = [UIColor greenColor];
  34. break;
  35. case 3:
  36. self.view.backgroundColor = [UIColor blueColor];
  37. break;
  38. default:
  39. break;
  40. }
  41. }
  42. - (IBAction)clickBackGround:(id)sender {
  43. // 点击背景 取消虚拟键盘
  44. [self.textField resignFirstResponder];
  45. }
  46. //添加分段控件
  47. - (IBAction)addSegment:(id)sender {
  48. NSUInteger count = self.segmentControl.numberOfSegments;
  49. NSString * tittle = self.textField.text;
  50. if ([tittle length] > 0) {
  51. [self.segmentControl insertSegmentWithTitle:tittle atIndex:count animated:YES];
  52. self.textField.text = @"";
  53. }
  54. }
  55. //删除分段控件
  56. - (IBAction)minusSegment:(id)sender {
  57. NSUInteger count = self.segmentControl.numberOfSegments;
  58. [self.segmentControl removeSegmentAtIndex:count - 1 animated:YES];
  59. }
  60. @end

-- 界面展示 :

时间: 2024-11-08 19:14:26

分段控件 (UISegmentedControl)的相关文章

分段控件UISegmentedControl

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

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 = @[@"轻拍

iOS在导航栏上居中显示分段控件(UISegmentedControl)

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil]; segmentedControl.tintColor = [UIColor orangeColor]; //渲染色彩 [segmentedControl insertSegmentWithTitle:@"专家介绍"atIndex:0 animated:NO]; [segmentedControl insertSeg

UISegmentedControl 分段控件

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

UISegmentedControl分段控件

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

UISegmentedControl——分段控件

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

【OC-Develop基础】基础控件 -- UISegmentedControl

一.UISegmentedControl简介 UISegmentedControl是iOS中的分段控件.每个segment都能被点击,相当于集成了若干个button.通常我们会点击不同的segment来切换不同的view.

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

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

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

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