문제

이것은 자주 발생하는 버그이지만 항상 그렇지는 않습니다.내 UICollectionView에 새로 고침 컨트롤이 추가되었습니다.새로 고침 할 때 완벽하게 작동합니다.그러나 내가 여러 번 새로 고침하거나 전체 새로 고침을해도되면 앱의 다른 탭으로 이동 한 다음 다시 돌아 오면 uirefreshControl이 UICollectionView의 일부로 나타납니다.또한 Zero Refresh Spinner Bars에서 시작하는 대신 모든로드로 시작됩니다 (메일과 같은 다른 앱 에서이 문제를 알게되었으므로 OS 버그가 많이 있지만 OS 앱에서는 스피너가 끝나지 않습니다.내용). 다음은 문제의 이미지가 있습니다 : https://www.dropbox.com/s/4qk6qjrdlapsvz0/img_0074.jpg viewDidload에서 RefreshController를 설정하는 방법은 다음과 같습니다.

refreshControl = [[UIRefreshControl alloc] init];

[refreshControl addTarget:self action:@selector(refresh2)

forControlEvents:UIControlEventValueChanged];

[self.collectionView addSubview:refreshControl];

self.collectionView.alwaysBounceVertical = YES;
.

누구든지 Spinner가 CollectionViewController 뒤에서가는 방법을 알고 있습니까?감사합니다

도움이 되었습니까?

해결책

나는이 문제도 있었고 그것을 알아 냈습니다. 그래서 나는 내가 공유 할 것이라고 생각했습니다.내가 한 일은 UICollectionView의 뒷면에 강제로 강제였습니다.나는 sendsubviewtoback과 같은 다른 것을 시도하고 UICollectionViewCell의 Zindex를 설정했지만 작동하지 않았습니다.그러나 아래에서는 일하고 iOS 6 + :

에서 테스트했습니다.
refreshControl.layer.zPosition = -1;
.

iOS 6의 경우 다음을 추가하십시오.

refreshControl.userInteractionEnabled = NO;
.

다른 팁

문제 : 아래로 스크롤하고 부분적으로 UireFreshControl을 표시하기 시작하지만 모든 방식으로 스크롤하지 않도록 스크롤하지 않아도됩니다.다른보기 (또는 "최소화"앱으로 이동하고 배경으로 보내기)로 돌아가서 돌아옵니다.UIREFRESHCONTROL이 조금 스크롤하고 UIREVIEW가 완전히로드되고 환불되고 회전하지 않고 회전하지 않습니다.

솔루션 : ViewWillDissAppear 및 배경으로 전송되는 앱에서 꺼내야합니다.

var refreshControl = UIRefreshControl()

override func viewDidLoad() {
    super.viewDidLoad()
    refreshControl.addTarget(self, action: #selector(ViewController.methodNameForRefreshing), forControlEvents: .ValueChanged)
    collectionView.addSubview(refreshControl)
    //or
    tableView.addSubview(refreshControl)

    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.willResignActiveNotif), name: UIApplicationWillResignActiveNotification, object: nil)
}

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)
    refreshControl.endRefreshing()
}

func willResignActiveNotif(notification: NSNotification) {
    refreshControl.endRefreshing()
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top