iOS小项目-使用Slider完成三种颜色的改变

如题目所说,我们要做一个用三个slider完成背景颜色的改变。

实现效果如下图:
这里写图片描述

实现代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    //view的初始颜色是黑色
    self.view.backgroundColor = [UIColor blackColor];
    //创建三个滑动条,置于不同的view的不同地方
    for (int i = 0; i < 3; i++) {
        //进度条的大小
        UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(50, 100 + 200 * i, self.view.frame.size.width - 100, 40)];
        //为进度条设置tag值
        slider.tag = i + 1;
        //slider添加事件的方法(注意:应使用UIControlEventValueChanged)
        [slider addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
        //将slider添加到view上面
        [self.view addSubview:slider];
        //我是手动管理内存,所以需要这句话。(如果是自动管理内存,这句话可以省略)
        [slider release];
    }
}

- (void)change:(UISlider *)slider
{
    //通过tag值获得上面三个UISlider
    UISlider *red = (UISlider *)[self.view viewWithTag:1];
    UISlider *green = (UISlider *)[self.view viewWithTag:2];
    UISlider *blue = (UISlider *)[self.view viewWithTag:3];
    //根据三个滑动条更改背景颜色。(红、绿、蓝的三个颜色是 0 ~ 1),(Slider的默认值也是 0 ~ 1);所以可以实现效果。
    self.view.backgroundColor = [UIColor colorWithRed:red.value green:green.value blue:blue.value alpha:1.0];
}
阅读更多
个人分类: 技术 程序 OC iOS UI
上一篇基于Objective-C的iOS霓虹灯程序
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭