IOS基础知识记录五(简单手电筒)

来源:互联网 发布:mac打开文件夹很慢 编辑:程序博客网 时间:2024/05/01 04:47
一个简单的手电筒实例

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