У меня есть UIViewController с UITableView как подвью. Я пытаюсь добавить ссылку на обновление на столе.UIRefreshControl без UITableViewController, не вызывающий селектор
После некоторых примеров и обсуждений, которые я нашел here, у меня есть отображение UIRefresh, но оно никогда не вызывает селектор. Я не получаю уведомление о том, что действие тяги произошло.
Я не могу использовать UITableViewController в качестве основного контроллера, поскольку мне нужно добавить фиксированную кнопку в нижней части экрана.
У меня такое чувство, что у меня что-то не хватает, что, надеюсь, очевидно для кого-то другого.
@interface ActivityViewController()<UITableViewDelegate, UITableViewDataSource, UIScrollViewDelegate>
@end
- (void)viewDidLoad{
[super viewDidLoad];
_myTableView.delegate = self;
_myTableView.dataSource = self;
_tableViewController = [UITableViewController new];
_tableViewController.tableView = _myTableView;
[self addChildViewController:_tableViewController]; // Not sure this is necessary
_refreshControl = [UIRefreshControl new];
[_refreshControl addTarget:self action:@selector(loadMoreData) forControlEvents:UIControlEventValueChanged];
_tableViewController.refreshControl = _refreshControl;
}
- (void)loadMoreData{
NSLog(@"loadMoreData");
}
Это не помогло, и на самом деле тогда я UIRefreshController вообще не показывался. Ссылка, добавленная мной в моем первоначальном посте, содержит подробное обсуждение, объясняющее, почему это должно быть сделано так, как я это делал. Просто мой селектор игнорируется .... – Alan
Хорошо, я изменил это, но все же мой селектор - (void) loadMoreData не вызывается. – Alan
Я не знаю. возможно, попробуйте сделать ваш refreshcontroller переменной экземпляра и/или проверить, является ли он нулем в какой-то момент, и вам не нужно [self addChildViewController: _tableViewController]; // Не уверен, что это необходимо –