美文网首页
iOS调用系统的相机需要长按才能拍照的bug

iOS调用系统的相机需要长按才能拍照的bug

作者: Bepawbikvy | 来源:发表于2019-04-28 11:47 被阅读0次

开发中相机拍照需求难免不会有,大部分是直接调用系统的相机拍照方法。
程序中调用系统相机拍照可能会遇到必须长按才能拍照,点击不能拍照的问题。
追踪一下,原来是项目中添加了防止button连续点击的扩展类,导致需长按才能拍照的bug。
解决方法:在扩展类中的添加判断,如果是拍摄按钮点击事件则不执行连续点击判断。

- (void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent*)event {
    // 如果是点击相机拍照按钮事件则不判断是否连续点击
    if ([method isEqualToString:@"_handleShutterButtonPressed:"]) {
        NSLog(@"--------> _handleShutterButtonPressed");
        [self sendAction:action to:target forEvent:event];
    }

   NSTimeInterval time = self.mjk_acceptEventInterval;
   if (time <= 0.0) {
        time = DEFAULT_ACCEPT_EVENT_INTERVAL;
        self.mjk_acceptEventInterval = time;
    }
     if ([NSDate date].timeIntervalSince1970 - self.mjk_acceptEventTime < time) {
        return;
    }

    // 第一次点击的时间
    self.mjk_acceptEventTime = [NSDate date].timeIntervalSince1970;
    [self mjk_sendAction:action to:target forEvent:event];
}

相关文章

网友评论

      本文标题:iOS调用系统的相机需要长按才能拍照的bug

      本文链接:https://www.haomeiwen.com/subject/jzsqnqtx.html