iOS开发之基础视图——UISegmentedControl

        UISegmentedControl 是一个分段控制组件。继承UIControl。

        分段组件提供一栏按钮,但同一时间只能激活其中一个按钮。分段组件会导致屏幕上看到的内容发生变化。它们常用于在不同类别的信息之间选择,或在不同的应用屏幕之间切换。


//
//  ViewController.m
//  UISegmentedControl
//
//  Created by Apple on 16/5/11.
//  Copyright © 2016年 Apple. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

UIView* view;
NSArray* imgList;

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSArray* menuList = [NSArray arrayWithObjects:@"A",@"B",@"C",@"D", nil];
    
    // 分段控制器(分段显示不同的数据)
    UISegmentedControl* segmentedControl = [[UISegmentedControl alloc] initWithItems:menuList];
    segmentedControl.frame = CGRectMake(10, 20, 300, 50);
    // 设置默认选中的Item( 默认从 0 开始)
    [segmentedControl setSelectedSegmentIndex:0];
    // 设置某项Item的Title
    [segmentedControl setTitle:@"提莫" forSegmentAtIndex:0];
    [segmentedControl setTitle:@"提莫1" forSegmentAtIndex:1];
    [segmentedControl setTitle:@"提莫2" forSegmentAtIndex:2];
    [segmentedControl setTitle:@"提莫3" forSegmentAtIndex:3];
    // 是否允许点击后还原效果(默认是NO),即分段栏是否恢复为选中前的颜色
    //[segmentedControl setMomentary:YES];
    // 绑定事件处理方法
    [segmentedControl addTarget:self action:@selector(onChange:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:segmentedControl];
    
    // 创建一个UIView,用来显示图片
    view = [[UIView alloc] initWithFrame: CGRectMake(10, 80, 300, 380)];
    view.backgroundColor = [UIColor redColor];
    
    // 4张图片
    UIImageView* img1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 380)];
    [img1 setImage:[UIImage imageNamed:@"1.jpg"]];
    
    UIImageView* img2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 380)];
    [img2 setImage:[UIImage imageNamed:@"2.jpg"]];
    
    UIImageView* img3 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 380)];
    [img3 setImage:[UIImage imageNamed:@"3.jpg"]];
    
    UIImageView* img4 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 380)];
    [img4 setImage:[UIImage imageNamed:@"4.jpg"]];
    
    imgList = @[img1,img2,img3,img4];
    // 默认显示第一张图片
    [view addSubview:img1];
    [self.view addSubview:view];
    
    
}

-(void)onChange:(UISegmentedControl*) segmentedC{
    //segmentedC.selectedSegmentIndex 表示当前选中的某项的index
    switch (segmentedC.selectedSegmentIndex) {
        case 0:
            [view addSubview:[imgList objectAtIndex:0]];
            break;
        case 1:
            [view addSubview:[imgList objectAtIndex:1]];
            break;
        case 2:
            [view addSubview:[imgList objectAtIndex:2]];
            
            break;
        case 3:
            [view addSubview:[imgList objectAtIndex:3]];
            
            break;
    }
}


@end

     效果图如下:

   

   


   

你可能感兴趣的:(ios)