2012-10-16 8 views
1

iOS 6을 새로 고치려면 풀다운에 UIRefreshControl을 사용하고 있습니다. 작동하고 있습니다. 그것을 할 때 내가UIRefreshControl은 ios 5 이하를 조건부로 선언합니다.

를 호출 할 수 없습니다이기 때문에

[self->refresh endRefreshing]; 

나는, 인터페이스 파일에

UIRefreshControl *refresh; 

, 선언, 내가 전화하는 방법, 업데이트하는 사용자 정의 대리자를 사용하고 있습니다

[self->refresh endRefreshing] 

from custom delegate method.

iOS 6에서는 완벽하게 작동하지만 iOS의 하위 버전에서는 'UIRefreshControl'이 iOS 6 이상에서만 사용 가능하기 때문에 실패합니다.

어떻게 iOS6 및 그 아래에서 작동하도록 조건부로 선언 할 수 있습니까?

답변

2
  1. id으로 인스턴스 변수를 선언하십시오.
  2. 변수를 사용할 때마다 변수를 UIRefreshControl *으로 전송하십시오.
  3. if (NSClassFromString(@"UIRefreshControl") != Nil) { ... }을 사용하여 UIRefreshControl을 사용할 수 있는지 확인하십시오.
+0

Jesper, 답변 해 주셔서 감사합니다. 다음은 오류가있는 코드입니다. http://pastebin.com/ZGXXu5Hh –

+0

iOS 6 SDK를 사용해야합니다. – Jesper

+0

Jasper, Base sdk가 ios 6으로 설정되었지만 여전히 동일한 오류가 발생합니다. –

1

https://github.com/instructure/CKRefreshControl는, 드롭 인 교체 UIRefreshControl에 iOS6의 +에 UIRefreshControl를 사용하고 사용자 정의 풀을 새로 고침 논리 이전 버전. 나는 그것의 개발과 아무 상관이 없지만 훌륭하게 작동합니다!

+0

팁 주셔서 감사합니다, 제프. 훌륭한 예입니다. – kjoelbro