145 lines
3.8 KiB
Objective-C
Executable File
145 lines
3.8 KiB
Objective-C
Executable File
//
|
|
// BaseTableViewController.m
|
|
// JiushiMarking
|
|
//
|
|
// Created by 小收 on 2019/7/18.
|
|
// Copyright © 2019 小收. All rights reserved.
|
|
//
|
|
|
|
#import "BaseTableViewController.h"
|
|
|
|
@interface BaseTableViewController ()
|
|
|
|
@end
|
|
|
|
@implementation BaseTableViewController
|
|
|
|
- (void)viewDidLoad {
|
|
[super viewDidLoad];
|
|
|
|
self.dataArray = [[NSMutableArray alloc] initWithCapacity:0];
|
|
|
|
self.page = 1;
|
|
|
|
CGRect tableFrame = CGRectMake(0, yb_NavigationBar_H, ScreenWidth, ScreenHeight-TOP_BAR_HEIGHT-TabBar_H);
|
|
if (self.hidesBottomBarWhenPushed == YES) {
|
|
tableFrame.size.height = tableFrame.size.height + TabBar_H;
|
|
}
|
|
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, SAFE_AREA_INSERTS_BOTTOM, 0);
|
|
|
|
self.tableView = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStylePlain];
|
|
self.tableView.backgroundColor = [UIColor clearColor];
|
|
self.tableView.delegate = self;
|
|
self.tableView.dataSource = self;
|
|
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
|
[self.view addSubview:self.tableView];
|
|
|
|
if (@available(iOS 11.0, *)){
|
|
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
|
}else{
|
|
self.automaticallyAdjustsScrollViewInsets = NO;
|
|
}
|
|
|
|
if (@available(iOS 15.0, *)){
|
|
self.tableView.sectionHeaderTopPadding = 0;
|
|
}
|
|
|
|
//解决iOS11滚动条高度跳动、上下拉刷新问题
|
|
self.tableView.estimatedRowHeight = 0;
|
|
self.tableView.estimatedSectionHeaderHeight = 0;
|
|
self.tableView.estimatedSectionFooterHeight = 0;
|
|
|
|
//刷新加载
|
|
self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(refreshFetchData)];
|
|
self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(fetchMoreData)];
|
|
|
|
[self hidePullToRefresh];
|
|
[self hideLoadMoreRefresh];
|
|
}
|
|
|
|
#pragma mark - UIScrollViewDelegate
|
|
|
|
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
|
|
[self.view endEditing:YES];
|
|
}
|
|
|
|
#pragma mark - Table view data source
|
|
|
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
|
return 1;
|
|
}
|
|
|
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
|
return self.dataArray.count;
|
|
}
|
|
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
static NSString *CellIdentifier = @"Cell";
|
|
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
|
|
|
|
return cell;
|
|
}
|
|
|
|
-(void)showNoContentView {
|
|
[self.noContentV removeFromSuperview];
|
|
self.noContentV.frame = CGRectMake(0, 0, self.tableView.bounds.size.width, self.tableView.bounds.size.height);
|
|
[self.tableView addSubview:self.noContentV];
|
|
}
|
|
|
|
-(void)hideNoContentView {
|
|
[self.noContentV removeFromSuperview];
|
|
}
|
|
|
|
#pragma mark - 刷新数据
|
|
|
|
//获取数据
|
|
-(void)fetchData {
|
|
|
|
}
|
|
|
|
//刷新
|
|
- (void)refreshFetchData {
|
|
|
|
}
|
|
|
|
//加载
|
|
- (void)fetchMoreData {
|
|
|
|
}
|
|
|
|
- (void)showPullToRefresh {
|
|
self.tableView.mj_header.hidden = NO;
|
|
}
|
|
|
|
- (void)hidePullToRefresh {
|
|
self.tableView.mj_header.hidden = YES;
|
|
}
|
|
|
|
- (void)showLoadMoreRefresh {
|
|
self.tableView.mj_footer.hidden = NO;
|
|
}
|
|
|
|
- (void)hideLoadMoreRefresh {
|
|
self.tableView.mj_footer.hidden = YES;
|
|
}
|
|
|
|
-(void)endFooterRefreshWithMore{
|
|
self.tableView.mj_footer.hidden = NO;
|
|
[self.tableView.mj_footer endRefreshing];
|
|
}
|
|
|
|
-(void)endFooterRefreshWithNoMore{
|
|
self.tableView.mj_footer.hidden = NO;
|
|
[self.tableView.mj_footer endRefreshingWithNoMoreData];
|
|
}
|
|
|
|
- (void)endRefresh {
|
|
if ([self.tableView.mj_header isRefreshing]) {
|
|
[self.tableView.mj_header endRefreshing];
|
|
} else if ([self.tableView.mj_footer isRefreshing]) {
|
|
[self.tableView.mj_footer endRefreshing];
|
|
}
|
|
}
|
|
|
|
@end
|