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

UI课程06 UIController及其子类,已学所有类的关系

2015-09-13 16:21 399 查看
1.UISegmentedControl

1)UISegmentControl 是iOS中的分段控件

2)segment相当于集合了多个button

3)通过点击不同的segment来切换不同的View

4)方法

initWithItems: //UISegmentedControl

独有的初始化⽅方法,⽤用来创建多个分段

setTitle: forSegmentAtIndex: //为指定下标的分段设置title

selectedSegmentAtIndex //(property)被选中的segment

tintColor //(property)segmentedControl条的颜⾊色(含每个segment的颜⾊色)

addTarget: action: forControlEvents: 给UISegmentedControl添加事件,controlEvent为UIControlEventValueChanged。

5)//获取某个分段的宽度 没有自定义宽度时,默认是 0.0

NSLog(@”%f”,[_segmentedControl widthForSegmentAtIndex:1]);

2.UISlider

滑块控件,也继承UIControl,滑块上提供了一系列连续的值

1)常用属性

minimumValue //设置滑块的最⼩小值

maximumValue //设置滑块的最⼤大值

value //设置滑块的当前值

minimumTrackTinkColor //定义划过区域的颜⾊色

addTarget: action: forControlEvents: 给UISlider添加事件,

controlEvent为UIControlEventValueChanged。

2)_slider.continuous = NO; //当滑动停止时再执行事件

3.UIImageView

除了能显⽰示单张图⽚片,还能处理⼀一组图⽚片的播放。

示例代码:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 200, 200, 200)];

[self addSubview:imageView];

//定义一个装多个图片的数组

NSMutableArray *imageArr = [NSMutableArray array];

for (int i = 0; i < 13; i ++) {

NSString *nameImg = [[NSString alloc] initWithFormat:@”image_%d.tiff”,i];

[imageArr addObject:[UIImage imageNamed:nameImg]];

}

//给它设置一组图片

imageView.animationImages = imageArr;

//设置播放一次一组动态图片的时间
imageView.animationDuration = 1;
//重复次数
imageView.animationRepeatCount = 2;
//让它动画播放图片
[imageView startAnimating];


4.UIControl

UIControl是所有控制控件(⽐比如UIButton、UISlider、UISegmentedControl等)的基类

1)只要跟控制有关的控件都是继承于该类。

2)UIControl的核⼼心功能:为控制控件通过

addTarget: action: forControlEvents: ⽅方法来添加事件。

通过removeTarget: action: forControlEvents: 来移除事件。

3)UIControl 是视图,是UIView的子类,并不是UIViewController 的子类。

5.已学所有类的关系



//初始化
self.segmentedControl = [[UISegmentedControl alloc ] initWithItems:@[@"shoes",@"clothes",@"T-shirt"]];
_segmentedControl.frame = CGRectMake(30, 30, 300, 30);
[self addSubview:_segmentedControl];

//分割个数
NSLog(@"%ld",_segmentedControl.numberOfSegments);

//点击之后不会一直是选中状态,就像 button 一样
_segmentedControl.momentary = YES;

//按照内容给分割段分配大小
_segmentedControl.apportionsSegmentWidthsByContent = NO;

//在某个下标下添加一个分段,添加时是否有动画效果
[_segmentedControl insertSegmentWithTitle:@"makeup" atIndex:1 animated:YES];

//在某个下标下添加图片,必须是镂空图片,不然因为会给整个图片进行渲染,不会出现原图片
[_segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"image@2x.png"] atIndex:0 animated:YES];
[_segmentedControl insertSegmentWithImage:[[UIImage imageNamed:@"image"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ] atIndex:1 animated:YES];//(外加)

//移除某个分段
[_segmentedControl removeSegmentAtIndex:0 animated:YES];

//移除所有分段
// [_segmentedControl removeAllSegments];

//给某个分段重命名
[_segmentedControl setTitle:@"only" forSegmentAtIndex:1];

//获取某个分段的标题名称
NSLog(@"%@",[_segmentedControl titleForSegmentAtIndex:2]);

//给某个分段设置宽度
// [_segmentedControl setWidth:20 forSegmentAtIndex:1];

//获取某个分段的宽度 没有宽度时,默认是 0.0
NSLog(@"%f",[_segmentedControl widthForSegmentAtIndex:1]);

[_segmentedControl setContentOffset:CGSizeMake(5, 1) forSegmentAtIndex:0];

//设置是否可以点击
[_segmentedControl setEnabled:YES forSegmentAtIndex:1];

//渲染颜色(显示出的颜色)
_segmentedControl.tintColor = [UIColor cyanColor];

//设置背景图片
[_segmentedControl setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

//设置分段间的分隔图片
[_segmentedControl setDividerImage:[UIImage imageNamed:@"tp.png"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

self.slider = [[UISlider alloc] initWithFrame:CGRectMake(30, 100, 300, 40)]; //一定要在高度范围内滑动
_slider.minimumValue = 0;
_slider.maximumValue = 12;

_slider.minimumValueImage = [UIImage imageNamed:@"tp.png"];//slider最右边的图片
_slider.maximumValueImage = [UIImage imageNamed:@"image.png"];//slider最左边的图片
_slider.value = 0; //其实位置
_slider.minimumTrackTintColor = [UIColor greenColor];//划过的痕迹颜色
_slider.continuous = NO; //当滑动停止时再执行事件
[self addSubview:_slider];

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 200, 200, 200)];
[self addSubview:imageView];
//定义一个装多个图片的数组
NSMutableArray *imageArr = [NSMutableArray array];
for (int i = 0; i < 13; i ++) {
NSString *nameImg = [[NSString alloc] initWithFormat:@"image_%d.tiff",i];
[imageArr addObject:[UIImage imageNamed:nameImg]];
}
//给它设置一组图片
imageView.animationImages = imageArr;

//设置播放一次一组动态图片的时间 imageView.animationDuration = 1; //重复次数 imageView.animationRepeatCount = 2; //让它动画播放图片 [imageView startAnimating];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: