美文网首页
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