나는 똑같은 문제가 있었고 위의 답을 수정하여 아이디어를 얻었지만 테이블 뷰가 스크롤되는 동안 새로 고침을 원하면 앱이 다운되는 일이 없을뿐만 아니라 cr 새로 고침하는 동안 스크롤하면 유골이 나옵니다. 따라서 모든 상황에서 문제를 해결할 수있는 확장 된 솔루션은 다음과 같습니다.
1.1. 사용자가 새로 고침 버튼을 누른 경우 스크롤을 사용 중지합니다.
1.2. 새로 고침 프로세스가 완료되면 스크롤을 활성화하십시오.
2.1. 사용자가 스크롤 할 때 새로 고침 버튼을 비활성화하십시오.
2.2. 사용자가 첫 번째 부분은 구현하기
스크롤 완료되면 리프레시 활성화 버튼 (. 1.1 및 1.2.)
-(void)startReloading:(id)sender
{
...
self.tableView.userInteractionEnabled = NO;
// and the rest of the method implementation
}
-(void)stopReloading:(id)sender
{
self.tableView.userInteractionEnabled = YES;
// and the rest of the method implementation
}
번째 부분을 구현하기 위해 (2.1, 2.2..) :
- (void)scrollViewWillBeginDragging:(UIScrollView *)activeScrollView
{
barButton.enabled = NO;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
barButton.enabled = YES;
}
그리고 그것은 이전의 대답에 설명 된 것 같은, UISCrollViewDelegate
.h
파일에 설정해야합니다 :
@interface MyTableViewController : UITableViewController <UIScrollViewDelegate>
P.S.userInteractionEnabled
대신 scrollEnabled
을 사용할 수 있지만 모두 해당 작업에 따라 다르지만 userInteraction이 기본 옵션입니다.
감사합니다. 강행 tneed이 @ 인터페이스의 MyTableViewController에를 추가하려면 다음의 UIViewController를 다음 -scrollViewWillBeginDragging 구현 : 감사합니다. –
Rod
어떻게하면 특정 테이블에서 스크롤 할 수 있습니까? 예를 들어 2 개의 UITableView가 있다고 가정 해 보겠습니다. –
@jeraldo, 모든 UIScrollViewDelegate 메서드는 매개 변수로 호출하는 스크롤 뷰를 허용하므로 어떤 UIScrollView를 사용하고 있는지 쉽게 확인할 수 있습니다 – Vladimir