UIButton *torchBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[torchBtn setView_size:SS_ADAPT_SCALE_FLOAT_SIZE_6P(65, 65, 85, 85)];
[torchBtn setBackgroundImage:[UIImage imageNamed:@"card_input_btn"] forState:UIControlStateNormal];
[torchBtn setBackgroundImage:[UIImage imageNamed:@"card_input_btns"] forState:UIControlStateSelected];
if ([SSPlatformUtility isIPhone4OrLess]) {
[torchBtn setView_minY:describeLabel.view_maxY + 36];
} else {
[torchBtn setView_minY:describeLabel.view_maxY + SS_ADAPT_SCALE_FLOAT_WITH_6P(74, 98)];
}
[torchBtn setView_maxX:self.clearBgView.centerOfView.x - SS_ADAPT_SCALE_FLOAT_WITH_6P(10, 15)];
[[torchBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
@strongify(self)
torchBtn.selected = !torchBtn.selected;
[self turnTorchOn:torchBtn.selected];
}];
- (void)turnTorchOn:(BOOL)on{
if ([self.device hasTorch] && [self.device hasFlash]){
[self.device lockForConfiguration:nil];
if (on) {
[self.device setTorchMode:AVCaptureTorchModeOn];
[self.device setFlashMode:AVCaptureFlashModeOn];
} else {
[self.device setTorchMode:AVCaptureTorchModeOff];
[self.device setFlashMode:AVCaptureFlashModeOff];
}
[self.device unlockForConfiguration];
}
}