2015-12-01 3 views
2

Я пытаюсь использовать UIRefreshControl, который имеет цветной фон. Я обнаружил, что размер UIRefreshControl на самом деле неточный, когда вы используете его на UITableView или UICollectionView.UIRefreshControl неправильный размер на UITableView/UICollectionView

Чтобы подчеркнуть это, я установил цвет фона для UIRefreshControl и к ячейкам.

Как исправить этот пробел? Это сводит меня с ума. Он выглядит очень непрофессиональным и кажется спрятанным с людьми, использующими белый UIRefreshControl s.

Здесь UIRefreshControl находится на одном уровне с UITableView Resting position

Теперь мы начинаем видеть немного щелью

enter image description here

Теперь разрыв намного больше

enter image description here

Чтобы воспроизвести это, просто используйте простой раскадровки с помощью UITableViewController.

Соответствующий код:

self.refreshControl = [[UIRefreshControl alloc] init]; 
    [self.refreshControl setBackgroundColor:[UIColor redColor]]; 
    self.refreshControl.tintColor = [UIColor clearColor]; 

Репо с кодом: https://github.com/Lyricalpanda/RefreshControl/tree/master/RefreshControl

+0

«Чтобы воспроизвести это, просто используйте обычную раскадровку с помощью UITableViewController». Это не происходит со мной. Кажется, вы установили вставку для таблицы или что-то в этом роде. – beyowulf

+0

Несвязанный - на основе черных полос вам кажется, что отсутствует раскадровка экрана запуска или соответствующие изображения запуска. – rmaddy

+0

@beyowulf Не задавали никаких вложений в коде и не проверяли, что ни один из них не был установлен в IB. Плюс вставки сделают так, что всегда будет разрыв, а не при прокрутке. Вот github проекта, что это происходит со мной на симуляторе iPhone 6 (9.0). Запуск XCode 7.0. Проверено это также на устройстве. https://github.com/Lyricalpanda/RefreshControl/tree/master/RefreshControl – LyricalPanda

ответ

1

Ну, в вашем примере приложения, я могу сделать что белый разрыв уйти, говоря:

self.view.backgroundColor = [UIColor redColor]; 

Но если это приемлемо, вам не нужно устанавливать фоновый цвет элемента управления обновлением вообще как раз в виде.

+0

Спасибо, что взломали его! К сожалению, мы стараемся, чтобы свойство '[tableView background]' было 'clearColor', чтобы между ячеями существовал видимый разрыв. Сделав 'view Background' таким же, как' UIRefreshControl', это становится намного сложнее :( – LyricalPanda

Смежные вопросы