UI基础-UIControl及其子类

原创 2015年11月17日 21:13:58

UISegmentedControl的使用

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

常用方法和属性

创建方法1:

// 初始化的数组中 必须是 字符串 
NSArray *itemArray = @[@"第一段", @"第二段", @"第三段"];
// 分段按钮
//initWithItems:UISegmentedControl独有的初始化方法,用来创建多个分段 
UISegmentedControl *segmentControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentControl.frame = CGRectMake(20, 100, 300, 50);
segmentControl.backgroundColor = [UIColor orangeColor];
// 设置默认选中(索引从0开始)
segmentControl.selectedSegmentIndex = 1;
// 修改选中的颜色
segmentControl.tintColor = [UIColor grayColor];
// 修改中间段宽度
[segmentControl setWidth:200 forSegmentAtIndex:1];
[self.view addSubview:segmentControl];
[segmentControl release];

创建方法2:

// 如果选用 图片初始化 必须选用镂空图
UIImage *image1 = [UIImage imageNamed:@"01-refresh"];
UIImage *image2 = [UIImage imageNamed:@"02-redo"];
UIImage *image3 = [UIImage imageNamed:@"03-loopback"];
NSMutableArray *arr = [NSMutableArray arrayWithObjects:image1, image2, image3, nil];

segment.frame = CGRectMake(0, 20, 375, 50);
segment.tintColor = [UIColor orangeColor];
segment.selectedSegmentIndex = 1;
segment.backgroundColor = [UIColor cyanColor];

// 添加点击事件
// 选取ValueChanged 实际上是监测 索引的变化
[segment addTarget:self action:@selector(segmtAction:) forControlEvents:(UIControlEventValueChanged)];
[self.view addSubview:segment];
[segment release];

这里写图片描述

例题: 判断出 点击了哪个分段按钮, 每个分段按钮 控制一个界面 每个界面由一个控制器来控制 并且可以切换界面。

1.有几个segment就创建几个控制器

self.firstVC = [[FirstViewController alloc] init];
self.secondVC = [[SecondViewController alloc] init];
self.thirdVC = [[ThirdViewController alloc] init];

2.添加子控制器 并且显示视图

[self addChildViewController:self.firstVC];
[self.view addSubview:self.firstVC.view];
[self addChildViewController:self.secondVC];
[self.view addSubview:self.secondVC.view];
[self addChildViewController:self.thirdVC];
[self.view addSubview:self.thirdVC.view];

3.释放

[self.firstVC release];
[self.secondVC release];
[self.thirdVC release];

4.最前面的应该是segment,然后默认选中第一界面视图 firstVC.view

[self.view bringSubviewToFront:self.firstVC.view];
[self.view bringSubviewToFront:segment];

5.实现segment的点击事件

- (void)segmtAction:(UISegmentedControl *)segment
{
switch (segment.selectedSegmentIndex) {
    case 0:
        [self.view bringSubviewToFront:self.firstVC.view];
        break;   

    case 1:
        [self.view bringSubviewToFront:self.secondVC.view];
        break;


    case 2:
        [self.view bringSubviewToFront:self.thirdVC.view];
        break;


    default:
        break;
}
[self.view bringSubviewToFront:segment];
}

UISlider的使用

UISlider是iOS中的滑块控件。
通常用于控制视频播放进度,控制音量等。
它也是继承于UIControl,滑块提供了一系列连续的值,滑块停在不同的位置,获取到滑块上的值也不同。

常用属性:

// 初始化
UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(37.5, 100, 300, 30)];
slider.backgroundColor = [UIColor cyanColor];

// 设置轨迹颜色
[slider setMinimumTrackTintColor:[UIColor yellowColor]];
slider.maximumTrackTintColor = [UIColor purpleColor];

// 设置滑动按钮颜色(球)
slider.thumbTintColor = [UIColor grayColor];

// 设置最大值 和最小值 的图片
[slider setMinimumValueImage:[UIImage imageNamed:@"01-refresh"]];
[slider setMaximumValueImage:[UIImage imageNamed:@"03-loopback"]];
slider.selected = YES;
[slider setThumbImage:[UIImage imageNamed:@"03-loopback"] forState:(UIControlStateSelected)];
[slider setThumbImage:[UIImage imageNamed:@"02-redo"] forState:(UIControlStateNormal)];
[slider setThumbImage:[UIImage imageNamed:@"01-refresh"] forState:(UIControlStateHighlighted)];

// 设置滑块的初值 最大值 最小值
// 如果想设置初始位置 需要先把最大值 最小值设置上
// 再给初值 才会发生变化
slider.maximumValue = 10;
slider.minimumValue = 0;
slider.value = 2;

// 添加滑动事件
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:(UIControlEventValueChanged)];

[self.view addSubview:slider];
[slider release];

UIImageView的使用

例题: ImageView动画(跑图)
silder控制 动画播放的时间间隔,并且 silder滑动到最大值 停止动画

self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(37.5, 150, 300, 300)];
self.imageView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:self.imageView];
[self.imageView release];

// 构建一个图片的数组
NSMutableArray *imageArr = [NSMutableArray array];
for (int i = 1; i < 9; i++) {

// 把图片的名字 拼接出来
  NSString *imageName = [NSString stringWithFormat:@"%d",i];

 // 初始化每一张图片
  UIImage *image = [UIImage imageNamed:imageName];

// 把图片加到数组里
  [imageArr addObject:image];
}

// 设置imageView播放动画的数组
self.imageView.animationImages = imageArr;

// 设置时间间隔(播放完整一次10秒)
self.imageView.animationDuration = 10;

// 设置重复次数(零 代表无限次)
self.imageView.animationRepeatCount = 0;

// 让动画开始
[self.imageView startAnimating];

实现动画效果:(使用上面创建的Slider)

- (void)sliderAction:(UISlider *)slider
{
     NSLog(@"%.2f", slider.value);
     // 为了美观 停止的时候 添加一张占位图
     if (slider.value == slider.maximumValue) {
     [self.imageView stopAnimating];
     self.imageView.image = [UIImage imageNamed:@"8"];
}else {
     self.imageView.animationDuration = slider.value;
     [self.imageView startAnimating];
}
}

这里写图片描述

UIControl的作用

UIControl是所有控制控件(比如UIButton、UISlider、UISegmentedControl等)的基类。
只要跟控制有关的控件都是继承于该类。
UIControl的核⼼心功能:
为控制控件通过addTarget: action: forControlEvents: 方法来添加事件。
通过removeTarget: action: forControlEvents: 来移除事件。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UI--UIControl及其子类

// UIControl这个类通常我们并不直接使用,而是使用其子类 UIControl *control = [[UIControl alloc] initWithFrame:CGRectMak...

UI - UIControl及其子类

主要是两个控件UISegmentControl分段控件和UISlider滑块控件- (void)viewDidLoad { [super viewDidLoad]; // Do any...

事件处理, UIControl的子类

// // RootViewController.m // Lesson05UIControl // // Created by lanouhn on 16/1/6. // Copyright...

iOS入门(三十)UICOntrol 及其子类

UICOntrol 及其子类  UISegmentedControl initWithItems  独有初始化方法,用于创建多个分段 通常点击不同的segment来切换不同的view 颜色和图...

UIControl和它的子类

UIControl的核心功能: 为控制控件通过addTarget:action:forControlEvents: 方法来添加事件; 通过remove:…来移除事件#import "MainViewC...

iOS个人整理10-UIControl与子类:UISlider,UISegmentControl

一、UISlider UISlider是iOS中的滑块控件 通常用于控制视频播放进度,控制音量 它继承于UIControl,滑块位于滑条不同位置时提供不同的Value值 //滑竿初始化 ...

Android学习笔记---第四天---基础UI组件---RadioButton&CheckBox&ToggleButton&Switch---Button的子类

Button组件及其子类 Button是一个按钮组件详情请参考Android学习笔记---第三天---基础UI组件---Button&ImageButton; RadioButton//单选框&Che...

UI基础-UIView及其子类

UIView UIView 代表一个矩形区域UIView *view = [[UIView alloc] initWithFrame:CGRectMake(150, 100, 150, 40)]; 加...

iOS编程--------UIControl的作用及其子类UISegmentedControl的使用 / UISlider的使用 / UIImageView的使用

// // AppDelegate.h // UI06_UIControl,controlSubClass // // Created by l on 15/9/8. // Copyright...

iOS个人整理09-UIControl与子类:UIControlEvents事件,UISwitch

一、UISwitch 二、UISlider 三、UISegmentedControl
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)