UI基础—UIControl及其⼦子类

UISegmentedControl 

UISegmentedControl 是iOS中的分段控件

每个segment 都能被点击,相当于集成了若干个button.

通常我们会点击不同的segment来切换不同的view.

如图所示:

UI基础—UIControl及其⼦子类

在UISegmentedControl里面,有常用的方法和属性

initWithItems:            //UISegmentedControl独有的初始化方法,用来创建多个分段

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

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

selectedSegmentAtIndex                 //(property)被选中的segment

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

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIImage *image = [UIImage imageNamed:@"3005.png"];
    NSArray *arr = @[@"分组",@"全部",@"推荐",@"共享",image];
    UISegmentedControl *segmentcontrol = [[UISegmentedControl alloc] initWithItems:arr];
    segmentcontrol.frame = CGRectMake(60, 100, 200, 30);
    [segmentcontrol addTarget:self action:@selector(choose:) forControlEvents:UIControlEventValueChanged];
    segmentcontrol.selectedSegmentIndex = 2;//开始的时候就选中一个下标
    [self.view addSubview:segmentcontrol];
    [segmentcontrol release];
UI基础—UIControl及其⼦子类

UISlider 

UISlider 是iOS中的滑块控件

通常用于控制视频播放速度,控制音量等.

它也是继承于UIControl,滑块提供了一系列连续的值,当滑块停在不同的位置,就可以获得相应位置滑块上的值.

其效果如图:

UI基础—UIControl及其⼦子类UI基础—UIControl及其⼦子类

UIslider常用的属性:

minimumValue    //设置滑块的最小值

maximumValue   //设置滑块的最大值

value    //设置滑块的当前值

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

addTarget: action: forControlEvents: 给UISlider添加事件,controlEvent为UIControlEventValueChanged .

UIImageView

UIImageView相当于一个相框,专门用于显示图片,可以存放一个图片或者一组图片.

 UI基础—UIControl及其⼦子类

UI基础—UIControl及其⼦子类
- (void)speed:(UISlider *)slider
{
    UIImageView *imgv = (UIImageView *)[self.view viewWithTag:999];
    [imgv stopAnimating];
    imgv.animationDuration = slider.value;
    [imgv startAnimating];
}
- (void)viewDidLoad
{
    [super viewDidLoad];

    
    
    
    UIImageView *imageview = [[UIImageView alloc] initWithFrame:CGRectMake(120, 140, 68, 68)];
    imageview.backgroundColor = [UIColor orangeColor];
    NSMutableArray *images = [NSMutableArray arrayWithCapacity:10];
    for (int i = 1; i <= 5; i++) {
        NSString *imagename = [NSString stringWithFormat:@"I]WXR8([Y]TFLAECY8EO2%%2-%d(被拖移).tiff",i];
        UIImage *image = [UIImage imageNamed:imagename];
        [images addObject:image];
    }
    imageview.animationImages = images;
    imageview.animationDuration = 1;//动画播几次要用多长时间
//    imageview.animationRepeatCount = -1;
    [imageview startAnimating];
    [self.view addSubview:imageview];
    imageview.tag = 999;
    [imageview release];
    
    UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(10, 420, 300, 20)];
    [self.view addSubview:slider];
    [slider addTarget:self action:@selector(speed:) forControlEvents:UIControlEventValueChanged];
    [slider release];
}
UI基础—UIControl及其⼦子类

UIImageView常用属性:

image      //设置一个图片

animationImages     //设置一组动态图片

animationDuration       //设置播放一次一组动态图片的时间

animationRepeatCount     //设置重复次数

startAnimating      //开始动画

stopAnimating     //结束动画

UIControl

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

只要跟控制相关的控件都是继承于该类.

UIControl的核心功能:

为控件通过addTarget: action: forControlEvents: 方法来添加事件

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

UIControl是所有控制类控件的基类.

UISlider是可以响应滑动事件的控件.

UISegmentedControl 是可以实现单选的控件.

UIImageView除了能显示单选图片,还能处理一组图片的播放.