Вопрос

Это ошибка, которая часто бывает часто, но не всегда.У меня есть управление обновлением в моем UICOLLECKVIEW.Когда я обновляю, это работает отлично.Однако, если я половину обновляю его несколько раз или даже сделайте полное обновление, перейдите на другую вкладку в приложении, а затем верните назад, когда я обновляю, Uirefreshcontrol появляется над частью UICOLLECKVIEW.Кроме того, вместо того, чтобы начать с нулевого обновления спинровных баров, он начинается со всех загруженных (я зачем это в других приложениях, таких как по почте, хотя, так что большая ошибка ОС, но в приложениях ОС спиннер не переходитсодержание). Вот изображение проблемы: https://www.dropbox.com/s/4qk6qjrdlapsvz0/img_0074.jpg. Вот как я настроил Reewscontroller в ViewDidload.

refreshControl = [[UIRefreshControl alloc] init];

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

forControlEvents:UIControlEventValueChanged];

[self.collectionView addSubview:refreshControl];

self.collectionView.alwaysBounceVertical = YES;
.

Кто-нибудь знает, как сделать спиннер позади коллекцииViewController?Спасибо

Это было полезно?

Решение

У меня была эта проблема, а также поняла, поэтому я подумал, что поделюсь.То, что я сделал, было заставить его к задней части UICOLLECTIONVIEW.Я пробовал другие вещи, как SendsubviewToback и установка Zindex of UiCollectionViewCell, но она не работала.Однако ниже работали и проверили на iOS 6+:

refreshControl.layer.zPosition = -1;
.

для iOS 6, добавьте это:

refreshControl.userInteractionEnabled = NO;
.

Другие советы

<Сильная> проблема: Вы начинаете прокручивать вниз и частично раскрыть UirefreshControl, но вы не прокрутите до конца вниз, чтобы заставить его начать вращаться.Вы ориентируетесь на другой вид (или «минимизировать» приложение, отправить на фоновый) и вернуться.Вы прокрутите немного, а UirefreshControl показывает на вершине своего коллекции View полностью загружен, нежелательный и не вращающийся.

Решение: Вам нужно endrefreshing на ViewWilldissAspear и в приложении, отправляемом на фоновом режиме.

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