2014-02-12 3 views
0

이 앱은 특정 timeInterval에서 이미지를 트리거하는 데 NSTimer를 사용합니다. 이 잘 작동하지만 확대 할 때 문제가 발생하기 시작, 이미지 간의 timeIntervals 더 이상 상수 않습니다. 나는 나의 타이머를위한 2 개의 다른 부호를 시도하고 그들은 둘 다 작동하지 않는다.확대/축소시 NSTimer가 정상적으로 작동하지 않습니다.

_timerForImageTrigger = [NSTimer scheduledTimerWithTimeInterval:_timeIntervall target:self selector:@selector(automaticTriggerImage) userInfo:nil repeats:YES]; 

_timerForImageTrigger = [NSTimer timerWithTimeInterval:_timeIntervall 
              target:self 
              selector:@selector(automaticTriggerImage) 
              userInfo:nil 
              repeats:YES]; 
    [[NSRunLoop mainRunLoop] addTimer:_timerForImageTrigger forMode:NSRunLoopCommonModes]; 

카메라가 녹화 모드에있을 때 줌 기능을 사용할 수 없습니다. 그러나 이것은 내가 고집하고 싶은 해결책이 아닙니다. 이 문제를 해결하는 방법이나 문제가있는 곳이 있습니까?

+0

automaticTriggerImage가 올바른 간격라고하지만, 카메라 버튼이 트리거되지되는 공차를 변경하는 것을 고려할 수 있습니다? 또는 심지어 함수가 호출되지 않습니다? – jailani

답변

1

NSTimers는 정각에 정확하게 발사된다는 보장은 없습니다. 나는 당신의 타이머가 주 스레드에 있기 때문에 그것은 확대와 같은 주 스레드의 다른 활동에 의해 지연됩니다 믿습니다.

Stack Question

당신은 배경 실행 루프에 타이머를 실행하려고 무엇을 수도 도움이 될 수 있습니다.

N.B UI를 업데이트하는 경우 주 스레드에서이 작업을 수행해야합니다.

또한

당신은 (아이폰 OS 7) NSTimer

+0

링크를 가져 주셔서 감사합니다. CADisplayLink를 사용하는 NSTimer를 사용하는 대신, 줌 또는 초점을 맞출 때조차도 녹화하는 동안 상당히 일정한 시간을 유지할 수있게되었습니다. – BCI

관련 문제