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

本文详细介绍了iOS开发中常用的UI控件,包括UISegmentedControl、UISlider和UIImageView的使用方法及属性设置,同时提供了丰富的示例代码。

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.已学所有类的关系
iOS中类的继承关系

//初始化
    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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值