2013-09-26 6 views
2

잘못된 것이 있습니까, 아니면 시스템에 문제가 있습니까?NSTimer가 reloadData를 트리거하고 iPad의 iOS 7에서 수신 거부가 활성화되면 UICollectionView가 산발적으로 중단됩니다.

매우 간단한 데모 : https://github.com/IgorTavcar/UICollectionViewBug. 여기

- (void)viewDidAppear:(BOOL)animated { 
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(tick) userInfo:nil repeats:TRUE]; 
} 

모든 tick에 의해 시작, 컬렉션보기 및주기적인 트리거입니다 콜렉션 뷰의 roladData를 호출합니다.

- (void)tick { 
    [self.collectionView reloadData]; 
} 

스크롤 뷰

@property(nonatomic) BOOL bounces 

충돌 최대 후 EXC_BAD_ACCESS

다음 응용 프로그램 TRUE 인 경우. 집중 스크롤/수신 거부/15 초.

제안 사항?

https://github.com/IgorTavcar/UICollectionViewBug/issues/1

의 선택을 취소 "사용자를 INT :

나는 또한

dispatch_async(dispatch_get_main_queue(), ^{ 
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(tick) userInfo:nil repeats:TRUE]; 
}); 

self.timer = [NSTimer timerWithTimeInterval:0.5 target:self selector:@selector(tick) userInfo:nil repeats:TRUE]; 
[[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes]; 

...

+0

NSZombies를 사용하도록 설정하고 특정 인스턴스가 출시되었는지 확인하십시오. Apple 버그 일 수 있습니다. 어떤 경우라도 대안을 찾았음에도 불구하고 버그 보고서를 열어야합니다. –

+0

NSZombies가 발견되었습니다 :'*** - [NSIndexPath section] : 할당 해제 된 인스턴스 0x17d8c3a0' 메시지가 깊은 곳에서 보냈습니다. - [UICollectionView _unhighlightAllItems]' – orthodog

+0

경쟁 조건으로 인해 Apple 버그가 발생할 가능성이 있습니다. https://bugreport.apple.com에서 버그 보고서를 열고 'bt'및 'deallocated instance'메시지뿐만 아니라 볼 수있는 샘플 프로젝트를 추가하십시오. –

답변

0

고정하려고 노력했습니다 Story Board의 Collection View 셀에서 "Eraction Enabled"및 "Multiple Touch"를 선택합니다.

대신 제스처 인식기를 사용하여 입력을 처리하십시오.

+2

사용자 상호 작용이 비활성화되면 제스처 인식기는 어떻게 작동합니까? –