UISegmentedControl ,UIStepper,UISwitch,UISlider综合应用(实例需求)


需求:1.对两个视图对象进行:背景颜色,显示/隐藏,高度设置.但是每次只能设置一个视图对象.

2.创建UISemnebtedControl对象.两个分段显示:红色视图和绿色视图.默认选中第一个分段.

3.分段控件的作用:限制每次只能操作一个视图对象.

4.创建两个UIview累i小南国的视图对象,背景颜色分别为红色和绿色

5.创建三个UISlider对象,分别设置背景色的red,green,blue.即滑动任何一个滑块,都能改变操作视图的背景颜色.

6.创建UISwitch对象.关闭,隐藏被操作视图,打开:显示被操作视图.默认状态为打开.

7.创建UIStepper对象."+"增加被操作视图的高度."-"缩小被操作视图的高度.

主要代码:

#import "RootViewController.h"

@interface RootViewController (){
    UIView *_redView;
    UIView *_greenView;
    UISegmentedControl *_segmentView;
    UISwitch *_switchView;
    UISlider *_blueSlider;
    UISlider *_redSlider;
    UISlider *_greenSlider;
    UIStepper *_stepper;
}
@end

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    //创建UIsegmentView
    NSArray *title = @[@"红色视图",@"绿色视图"];
    _segmentView = [[UISegmentedControl alloc] initWithItems:title];
    _segmentView.selectedSegmentIndex = 0;
    _segmentView.frame = CGRectMake(50, 40, 200, 40);
    [_segmentView addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:_segmentView];
    [_segmentView release];
    //创建视图
    _redView = [[UIView alloc] initWithFrame:CGRectMake(40, 120, 100, 200)];
    _redView.backgroundColor = [UIColor redColor];
    [self.view addSubview:_redView];
    [_redView release];
    _greenView = [[UIView alloc] initWithFrame:CGRectMake(160, 120, 100, 200)];
    _greenView.backgroundColor = [UIColor greenColor];
    [self.view addSubview:_greenView];
    [_greenView release];
    //创建UISlider
    UILabel *redLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 330, 40, 40)];
    redLabel.text = @"红色";
    [self.view addSubview:redLabel];
    [redLabel release];
    _redSlider = [[UISlider alloc] initWithFrame:CGRectMake(110, 350, 150, 10)];
    _redSlider.maximumValue = 1.0;
    _redSlider.minimumValue = 0.0;
    [_redSlider addTarget:self action:@selector(handleSlider:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:_redSlider];
    [_redSlider release];
    UILabel *greenLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 370, 40, 40)];
    greenLabel.text = @"绿色";
    [self.view addSubview:greenLabel];
    [greenLabel release];
    _greenSlider = [[UISlider alloc] initWithFrame:CGRectMake(110, 390, 150, 10)];
    _greenSlider.maximumValue = 1.0;
    _greenSlider.minimumValue = 0.0;
    [_greenSlider addTarget:self action:@selector(handleSlider:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:_greenSlider];
    [_greenSlider release];
    UILabel *blueLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 410, 40, 40)];
    blueLabel.text = @"蓝色";
    [self.view addSubview:blueLabel];
    [blueLabel release];
    _blueSlider = [[UISlider alloc] initWithFrame:CGRectMake(110, 430, 150, 10)];
    _blueSlider.maximumValue = 1.0;
    _blueSlider.minimumValue = 0.0;
    [_blueSlider addTarget:self action:@selector(handleSlider:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:_blueSlider];
    [_blueSlider release];


    //UIStepper
    _stepper = [[UIStepper alloc] initWithFrame:CGRectMake(180, 500, 50, 40)];
    _stepper.backgroundColor = [UIColor whiteColor];
    [_stepper addTarget:self action:@selector(stepperAction:) forControlEvents:UIControlEventValueChanged];
    [_stepper setMinimumValue:0];
    [_stepper setMaximumValue:100];
    _stepper.stepValue = 20;//每次递增
    [_stepper setWraps:YES];
    [_stepper setContinuous:YES];
    [self.view addSubview:_stepper];
    [_stepper release];
    //UISwitch
    _switchView = [[UISwitch alloc] initWithFrame:CGRectMake(50, 500, 40, 10)];
    _switchView.on = NO;//设置初始化为打开状态
    [_switchView addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:_switchView];
    [_switchView release];
}
- (void)redChange{
    _redView.backgroundColor =[UIColor colorWithRed:1 -_redSlider.value green:1 -_greenSlider.value blue: 1-_blueSlider.value alpha:1.0];
}
- (void)greenChange{
    _greenView.backgroundColor =[UIColor colorWithRed:1 -_redSlider.value green:1 - _greenSlider.value blue:1 - _blueSlider.value alpha:1.0];
}
- (void)handleSlider:(UISlider *)slider{
    switch (_segmentView.selectedSegmentIndex) {
        case 0:
            [self redChange];
            break;
        case 1:
            [self greenChange];
            break;
        default:
            break;
    }
    
}
- (void)segmentAction:(UISegmentedControl *)segment{
}
- (void)switchAction:(UISwitch *)sh{
    if (_switchView.on == YES) {
        if(_segmentView.selectedSegmentIndex == 0){
            _redView.hidden = YES;
            _redSlider.userInteractionEnabled = NO;
            _greenSlider.userInteractionEnabled = NO;
            _blueSlider.userInteractionEnabled = NO;
            _stepper.userInteractionEnabled = NO;
        }else if (_segmentView.selectedSegmentIndex == 1){
            _greenView.hidden = YES;
            _redSlider.userInteractionEnabled = NO;
            _greenSlider.userInteractionEnabled = NO;
            _blueSlider.userInteractionEnabled = NO;
            _stepper.userInteractionEnabled = NO;
        }
    }else{
        if (_segmentView.selectedSegmentIndex == 0) {
            _redView.hidden = NO;
            _redSlider.userInteractionEnabled = YES;
            _greenSlider.userInteractionEnabled = YES;
            _blueSlider.userInteractionEnabled = YES;
            _stepper.userInteractionEnabled = YES;
        }else if (_segmentView.selectedSegmentIndex == 1){
            _greenView.hidden = NO;
            _redSlider.userInteractionEnabled = YES;
            _greenSlider.userInteractionEnabled = YES;
            _blueSlider.userInteractionEnabled = YES;
            _stepper.userInteractionEnabled = YES;
        }
    }
}
- (void)stepperAction:(UIStepper *)stepper{
    int temp = stepper.value;
    if (0 == _segmentView.selectedSegmentIndex) {
        //_redView.center = CGPointMake(temp, temp);
        _redView.bounds = CGRectMake(temp, temp, temp, temp);
    }else if (1 == _segmentView.selectedSegmentIndex){
        _greenView.bounds = CGRectMake(_greenView.bounds.origin.x, _greenView.bounds.origin.y, temp, temp);
    }
    
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}
@end




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值