2013-05-09 1 views
2

페이스 북 유형을 수행하기 위해 atempting하는 것은 더 많은 데이터를로드하고 지금은 작동하지만, 서버에 묻기 때문에 서버가 이미 존재하지 않는 것을 얻기 때문에, 그 다음 함수를 스크롤하여 모든 방법을 호출합니다 (어떻게 든 데이터를 다시로드하면 맨 위로 스크롤되기 때문입니다). 상단으로 스크롤하는 것을 방지하는 방법이 있다면 그것은 좋을 것입니다. 하지만 내 주요한 것은, 내가 스크롤했을 때를 감지 할 수있는 방법이 있는지, 그리고 내가 가지고있는 것을 과거 스크롤했을 때 (스크롤을 멈추게) 놓아 준다면, 그것은 그 소유로 돌아가서 내 메소드를 호출합니다 ... 현재 스크롤이 heres는 jQuery과의 높이 코드내가 UITableView 아래로 스크롤했을 때 감지하고 다시

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; 

당신이 원하는 것을

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    CGFloat height = scrollView.frame.size.height; 

    CGFloat contentYoffset = scrollView.contentOffset.y; 

    CGFloat distanceFromBottom = scrollView.contentSize.height - contentYoffset; 

    if(distanceFromBottom < height) 
    { 
     [getMessage removeAllObjects]; 
     [self loadMessages]; 
     [self.tableView reloadData]; 
     [self scrollAllTheWayDown]; 
    } 
} 
+0

[EGOTableViewPullRefresh] (https://github.com/enormego/EGOTableViewPullRefresh)를 확인하십시오. 자신을 굴리더라도 자신이 어떻게하고 있는지 볼 수 있습니다. –

+0

iOS 6에서 UIRefreshControl이 해결하려고하는 것입니다. – matt

+0

@matt 문서와 메신저를 잃어 버렸습니다. 어디서부터 시작해야할지 모릅니다. 예제 코드를 보여 주시겠습니까? –

답변

4

UIScrollViewDelegate 방법보다 큰 경우라고 점점 유지합니다. 사용자가 스크롤을 멈춘 후에 호출되고, 그 시점에서 scrollOffset을 확인하여 새로 고침 코드를 트리거해야하는지 확인할 수 있습니다. (scrollViewDidScroll을 사용하여 뷰를 업데이트하면 사용자가 업데이트 할 수 있습니다.

+0

인스턴트 메신저 혼동 ... 몇 가지 샘플 코드를 보여줄 수 있습니까? –

+1

'- (void) scrollViewDidScroll : (UIScrollView *) scrollView'을'- (void) scrollViewDidEndDragging : (UIScrollView *) scrollView willDecelerate : (BOOL) decelerate;'코드를 변경하지 않고 시도해보십시오. 기대하고있다. – bazik

+0

실제로 나는 그것을 얻었습니다. 덕분에 많은 일을했습니다. –

관련 문제