123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- //
- // YMGuildManagementListViewController.m
- // JXPagerViewExample-OC
- //
- // Created by jiaxin on 2019/12/30.
- // Copyright © 2019 jiaxin. All rights reserved.
- //
- #import "YMGuildManagementListViewController.h"
- //#import "DetailViewController.h"
- #import <MJRefresh/MJRefresh.h>
- #import "UIWindow+JXSafeArea.h"
- @interface YMGuildManagementListViewController () <UITableViewDataSource, UITableViewDelegate>
- @property (nonatomic, copy) void(^scrollCallback)(UIScrollView *scrollView);
- @end
- @implementation YMGuildManagementListViewController
- - (void)dealloc {
- NSLog(@"YMGuildManagementListViewController dealloced");
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
- _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
- self.tableView.backgroundColor = [UIColor whiteColor];
- self.tableView.tableFooterView = [UIView new];
- self.tableView.dataSource = self;
- self.tableView.delegate = self;
- [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];
- //列表的contentInsetAdjustmentBehavior失效,需要自己设置底部inset
- self.tableView.contentInset = UIEdgeInsetsMake(0, 0, UIApplication.sharedApplication.keyWindow.jx_layoutInsets.bottom, 0);
- [self.view addSubview:self.tableView];
- __weak typeof(self)weakSelf = self;
- if (self.isNeedHeader) {
- self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- [weakSelf.tableView.mj_header endRefreshing];
- });
- }];
- }
- if (self.isNeedFooter) {
- self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- [weakSelf.dataSource addObject:@"加载更多成功"];
- [weakSelf.tableView reloadData];
- [weakSelf.tableView.mj_footer endRefreshing];
- });
- }];
- }
- [self beginFirstRefresh];
- }
- - (void)viewDidLayoutSubviews {
- [super viewDidLayoutSubviews];
- self.tableView.frame = self.view.bounds;
- }
- - (void)beginFirstRefresh {
- if (!self.isHeaderRefreshed) {
- [self beginRefreshImmediately];
- }
- }
- - (void)beginRefreshImmediately {
- if (self.isNeedHeader) {
- [self.tableView.mj_header beginRefreshing];
- dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
- self.isHeaderRefreshed = YES;
- [self.tableView reloadData];
- [self.tableView.mj_header endRefreshing];
- });
- }else {
- self.isHeaderRefreshed = YES;
- [self.tableView reloadData];
- }
- }
- #pragma mark - UITableViewDataSource, UITableViewDelegate
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
- if (!self.isHeaderRefreshed) {
- return 0;
- }
- return self.dataSource.count;
- }
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
- cell.textLabel.text = self.dataSource[indexPath.row];
- return cell;
- }
- - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
- return 50;
- }
- - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
- // DetailViewController *detailVC = [[DetailViewController alloc] init];
- // detailVC.infoString = self.dataSource[indexPath.row];
- // [self.navigationController pushViewController:detailVC animated:YES];
- }
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
- !self.scrollCallback ?: self.scrollCallback(scrollView);
- }
- #pragma mark - JXPagingViewListViewDelegate
- - (UIView *)listView {
- return self.view;
- }
- - (UIScrollView *)listScrollView {
- return self.tableView;
- }
- - (void)listViewDidScrollCallback:(void (^)(UIScrollView *))callback {
- self.scrollCallback = callback;
- }
- - (void)listWillAppear {
- NSLog(@"%@:%@", self.title, NSStringFromSelector(_cmd));
- }
- - (void)listDidAppear {
- NSLog(@"%@:%@", self.title, NSStringFromSelector(_cmd));
- }
- - (void)listWillDisappear {
- NSLog(@"%@:%@", self.title, NSStringFromSelector(_cmd));
- }
- - (void)listDidDisappear {
- NSLog(@"%@:%@", self.title, NSStringFromSelector(_cmd));
- }
- @end
|