Files
yuyin_ios/SweetParty/主类/Others/Base/BaseTableViewController.m
2025-08-08 11:05:33 +08:00

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