2016-05-13 3 views
0

В моем UIViewController у меня есть UITableView как одно из подзонов. Я добавить свой UIRefreshControl со следующим кодом:iOS - UIRefreshControl UITableView против UIRableViewControl UITableViewController

// enable "pull to refresh" 
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Pull To Refresh!" attributes:@{NSForegroundColorAttributeName : [UIColor whiteColor], NSFontAttributeName : [UIFont systemFontOfSize:17]}]; 
[refreshControl addTarget:self action:@selector(fetchArticles) forControlEvents:UIControlEventValueChanged]; 
refreshControl.backgroundColor = [UIColor colorWithRed:0.0f/255.0f green:102.0f/255.0f blue:153.0f/255.0f alpha:1.0]; 
refreshControl.tintColor = [UIColor whiteColor]; 
self.refreshControl = refreshControl; 
[self.tableView addSubview:self.refreshControl]; 

У меня есть еще один экран в моем приложении, которое использует UITableViewController, и его UIRefreshControl пути больше отличается от той, которую я добавил для моего UITableView.

UIRefreshControl для отдельного UITableView медленнее при перетаскивании, и мне обычно приходится перетаскивать FARTHER, чтобы он начал освежиться.

UIRefreshControl для моего UITableViewController на моем другом экране быстрее при перетаскивании, и мне не нужно перетаскивать его до тех пор, пока он не начнет освежиться.

Я предпочитаю плавное поведение из UITableViewController «s UIRefreshControl, так как я могу получить мой UIRefreshControl для моего UITableView вести себя как один по умолчанию, который принадлежит UITableViewController?

Возможно ли это? Или использует UIContainerView и используя UITableViewController мой единственный вариант?

ответ

1

UIRefreshControl предназначен для работы с UITableViewController; на веб-сайте Apple в нем говорится:

Поскольку элемент управления обновлением специально разработан для использования в представлении таблицы, которое управляется контроллером табличного представления, использование его в другом контексте может привести к неопределенному поведению.

Это, как говорится, люди были успешными без UITableViewController: UIRefreshControl without UITableViewController. Используйте на свой риск.

+0

Спасибо за ссылку! Я немного колебался, чтобы использовать хакерское решение UITableViewController, но оно отлично работало! – Rafi

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