2013-03-12 3 views
1

UIRefreshControlUITableviewController에 사용하고 있습니다. 처음으로 테이블에 인터넷에서 오는 데이터가로드되면 자동으로 상단에 표시됩니다. 아래 이미지를 참조하십시오. enter image description hereUIRefreshControl이 테이블 상단에 붙습니다.

이것은 내 리프레시 제어

[self.refreshControl addTarget:self action:@selector(doRefresh:) forControlEvents:UIControlEventValueChanged]; 
- (void)doRefresh:(CKRefreshControl *)sender { 
    NSLog(@"Refreshing Parent"); 
    // bring Data Here 
} 

을 설정하고있어 어떻게 모든 풀을 새로 고침하기 전에 발생이. 처음으로 간단한 테이블 데이터가 채워지면 탐색 모음 아래에 숨겨진 대신 새로 고침 컨트롤이 표시됩니다. 왜 이런 일이 일어 났는지 말해 줄 수 있습니까?

+0

'UIRefreshControl'을 만들고 사용하기위한 코드를 포함하도록 질문을 편집하십시오. –

+0

UITableViewController는 xib 파일로 만들어 졌으므로 ValueChnaged 메서드에서 UIRefreshControl에 대한 동작 메서드를 설정하기 만하면됩니다. 나는 또한 XIb에서 Refreshing을 가능하게한다. –

+0

메서드 호출시 일부 코드 게시 – Rushabh

답변

0

새로운 UIRefreshControl 개체를 할당하고 self.refreshControl을 설정하십시오. 다음과 같은 것 :

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
[refreshControl setAttributedTitle:[[NSAttributedString alloc] initWithString:@"Refreshing.."]]; 
[refreshControl addTarget:self action:@selector(doSomething:) forControlEvents:UIControlEventValueChanged]; 
self.refreshControl = refreshControl; 

희망이 있습니다.

EDIT : 또한 호출 된 선택자 끝에 [self.refreshControl endRefreshing]을 사용해야합니다.

+0

왜? 내가 UITableviewController에서 refreshControl을 이미 가지고있을 때? –

+1

@AbidHussain 컨트롤러를 초기화 할 때 UITableViewController의 refreshControl이 할당되지 않았기 때문입니다. 새로운 UIRefreshControl을 할당하고 초기화하고이를 UITableViewController 속성에 할당해야합니다. 편집 : 당신이 맞아, 당신은 직접 개체를 만들지 않고 그것을 할당 할 수 있습니다 -> self.refreshControl = [[UIRefreshControl alloc] init] –

관련 문제