首页 » iOS编程(第4版) » iOS编程(第4版)全文在线阅读

《iOS编程(第4版)》28.4 改变颜色

关灯直达底部

下面将升级Colorboard应用,用户可以在Colorboard中选择一款颜色并将其收藏到颜色列表中。

返回Colorboard.storyboard,向BNRColorViewController中添加一个UITextField对象、三个UILabel对象和三个UISlider对象,界面看起来应该类似于图28-18。

图28-18 设置BNRColorViewController的view

下面根据UISlider对象中的色值修改BNRColorViewController的view的背景颜色。在BNRColorViewController.m的类扩展中,为UITextField对象和UISlider对象添加相应的插座变量:

@interface BNRColorViewController ()

@property (nonatomic, weak) IBOutlet UITextField *textField;

@property (nonatomic, weak) IBOutlet UISlider *redSlider;

@property (nonatomic, weak) IBOutlet UISlider *greenSlider;

@property (nonatomic, weak) IBOutlet UISlider *blueSlider;

@end

@implementation

当用户拖曳任意一个UISlider对象时,都将触发相同的动作方法。在BNRColorViewController.m中添加该方法,代码如下:

- (IBAction)changeColor:(id)sender

{

float red = self.redSlider.value;

float green = self.greenSlider.value;

float blue = self.blueSlider.value;

UIColor *newColor = [UIColor colorWithRed:red

green:green

blue:blue

alpha:1.0];

self.view.backgroundColor = newColor;

}

接下来打开Colorboard.storyboard,然后按住Option键,在辅助编辑器中打开BNRColorViewController.m,首先关联视图与对应的插座变量,然后按住Control键,将三个UISlider对象分别拖曳到Color View Controller,关联changeColor:动作方法。

构建并运行应用,拖曳任意一个UISlider对象,可以发现view的背景颜色会随之改变。