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" //这样可以替换项目中的常量, 变于统一操作