1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | //時間の設定値(アプリの設定で入力できるようにした) NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSString *startTime = [[userDefaults stringForKey: @"startTime" ] stringByReplacingOccurrencesOfString: @":" withString: @"" ]; NSString *endTime = [[userDefaults stringForKey: @"endTime" ] stringByReplacingOccurrencesOfString: @":" withString: @"" ]; NSDate *date = [NSDate date]; // 現在の日時を得る NSCalendar *calendar = [NSCalendar currentCalendar]; // カレントカレンダー取得 NSCalendarUnit unit = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; //時分秒を指定 NSDateComponents *dc = [calendar components:unit fromDate:date]; NSString *hh = [NSString stringWithFormat: @"%02ld" ,[dc hour]]; NSString *mm = [NSString stringWithFormat: @"%02ld" ,[dc minute]]; NSString *ss = [NSString stringWithFormat: @"%02ld" ,[dc second]]; NSString *now = [[hh stringByAppendingString:mm] stringByAppendingString:ss]; if (startTime.intValue < endTime.intValue) { // 日をまたがない場合 if (startTime.intValue <= now.intValue && now.intValue <= endTime.intValue) { //処理 [[UIScreen mainScreen] setBrightness:0.0f]; } else { [[UIScreen mainScreen] setBrightness:1.0f]; } } else { // 日をまたぐ場合 if (startTime.intValue <= now.intValue || now.intValue <= endTime.intValue) { //処理 [[UIScreen mainScreen] setBrightness:0.0f]; } else { [[UIScreen mainScreen] setBrightness:1.0f]; } } |
【Objective-C】時間によって照度を変更する方法
