[b]一个简单的手电筒实例
[/b]
1.在xcode中使用模板Single view Application 新建一个Light项目
2.在MainStoryboard.storyboard里面规划三个控件, 一个开关(UISwitch), 一个控制控制亮度(UISlider),一个控制显示(UIView. 先设置Scene中的视图的alpha = 1.0 即默认为黑色
3.分别对switchOn和slider的value changed触发同一个事件 setLightAlphaValue
4.在viewDidLoad中调用一个初始化方法。该方法用来初始化手电筒的一些显示参数
5.如果你喜欢可以把项目中一些常用的常量采用宏定义
[/b]
1.在xcode中使用模板Single view Application 新建一个Light项目
2.在MainStoryboard.storyboard里面规划三个控件, 一个开关(UISwitch), 一个控制控制亮度(UISlider),一个控制显示(UIView. 先设置Scene中的视图的alpha = 1.0 即默认为黑色
3.分别对switchOn和slider的value changed触发同一个事件 setLightAlphaValue
- (IBAction)setLightAlphaValue:(id)sender {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool: switchOn.on forKey: @"isOn"];
[userDefaults setFloat: slider.value forKey: @"sliderValue"];
[userDefaults synchronize];
//以上操作只是设置客户的一些默认操作。如:设置开关的默认状态, 手电筒的亮度
//方便下次打开时, 记住上次操作的结果
if (switchOn.isOn) {
light.alpha = slider.value;
}else {
light.alpha = 0.0;
}
}
4.在viewDidLoad中调用一个初始化方法。该方法用来初始化手电筒的一些显示参数
//加载上次操作结果
- (void)initBirghtnessAndSwithOn {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
switchOn.on = [userDefaults boolForKey: @"isOn"];
slider.value = [userDefaults floatForKey: @"sliderValue"]];
if ([userDefaults boolForKey: @"isOn"]) {
light.alpha = [userDefaults floatForKey: @"sliderValue"]];
}else {
light.alpha = 0.0;
}
}
5.如果你喜欢可以把项目中一些常用的常量采用宏定义
#define switchOnOff @"isOn"
#define sliderValue @"sliderValue"
//这样可以替换项目中的常量, 变于统一操作