2014-03-07 4 views
0

seagals 이미지와 뷰가 포함 된 큰 페이지 매김 UIScrollView가 있습니다. 달성하고자하는 일은 사용자가 페이지를 스 와이프하는 동안 백그라운드 작업을 일시 중지하는 것입니다. 응용 프로그램이 다운로드되고 컴퓨팅 작업을하고 스 와이프 애니메이션이 원활하지 않기 때문에이 기능이 필요합니다.UIScrollView가 스크롤되는 동안 모든 작업 일시 중지

아이디어가 있으십니까?

감사

+0

uiscrollview 이미지에서 지연로드를 구현 했습니까? 귀하의 질문에 나는 당신이 scrollview를 스크롤하게 만드는 이미지의 게으른 로딩과 함께 갈 필요가 있다고 생각합니다. – RAJA

답변

1

당신은 NSOperationQueue를 사용하여 작업을 계속할/일시 정지 할 수있는 UIScrollView의 대리인의 스크롤 이벤트를 잡을 수 있습니다.

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    queue=[[NSOperationQueue alloc]init]; 

    NSBlockOperation *intenseOperation=[NSBlockOperation blockOperationWithBlock:^{ 
     //do intense stuff 
    }]; 

    [queue addOperation:intenseOperation]; 
} 

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ 
     [queue setSuspended:NO]; 
} 
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ 
     [queue setSuspended:YES]; 
} 
1

역으로 생각해야합니다.

일단 이미지가 백그라운드에서 다운로드되면 주 스레드를 사용하여 UI에서 업데이트하십시오.

주 스레드가 UI 업데이트를 처리하고 있습니다. 당신의 설명을 바탕으로

,

당신은 주 스레드에서 이미지를 다운로드

의 "슬쩍 애니메이션이 원활하지 않습니다."

+0

나는 이미 큐를 사용하여 이미지를 다운로드하고 그려 왔습니다. 사실 나는 백그라운드에서 많은 것을하고있다. 나는 모든 것을 통제하지 않고 모든 것이 잘 알려진 대기열에 있지 않기 때문에 모든 것을 일시 중지하고 싶습니다. – user3355209

+0

지금까지 시도한 내용. 배경 코드 다운로드 –

관련 문제