From 3e8437ae559487362fae3525beb79c534c213a51 Mon Sep 17 00:00:00 2001 From: 单军华 Date: Thu, 12 Jul 2018 13:44:34 +0800 Subject: [PATCH] bug修复和功能优化 --- screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseRefreshTableViewController.m | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 209 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseRefreshTableViewController.m b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseRefreshTableViewController.m new file mode 100755 index 0000000..35c306a --- /dev/null +++ b/screendisplay/Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseRefreshTableViewController.m @@ -0,0 +1,209 @@ +/************************************************************ + * * Hyphenate CONFIDENTIAL + * __________________ + * Copyright (C) 2016 Hyphenate Inc. All rights reserved. + * + * NOTICE: All information contained herein is, and remains + * the property of Hyphenate Inc. + * Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained + * from Hyphenate Inc. + */ + +#import "EaseRefreshTableViewController.h" + +#import "MJRefresh.h" +#import "EaseLocalDefine.h" + +@interface EaseRefreshTableViewController () + +@property (nonatomic, readonly) UITableViewStyle style; + +@end + +@implementation EaseRefreshTableViewController + +@synthesize rightItems = _rightItems; + +- (instancetype)initWithStyle:(UITableViewStyle)style +{ + self = [super init]; + if (self) { + _style = style; + } + + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + + // Uncomment the following line to preserve selection between presentations. + if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) { + [self setEdgesForExtendedLayout:UIRectEdgeNone]; + } + + if (@available(iOS 11.0, *)) { + self.additionalSafeAreaInsets = UIEdgeInsetsMake(0, 0, iPhoneX_BOTTOM_HEIGHT, 0); + } + + _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:self.style]; + _tableView.accessibilityIdentifier = @"table_view"; + _tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + _tableView.delegate = self; + _tableView.dataSource = self; + _tableView.tableFooterView = self.defaultFooterView; + [self.view addSubview:_tableView]; + + _page = 0; + _showRefreshHeader = NO; + _showRefreshFooter = NO; + _showTableBlankView = NO; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +#pragma mark - setter + +- (void)setShowRefreshHeader:(BOOL)showRefreshHeader +{ + if (_showRefreshHeader != showRefreshHeader) { + _showRefreshHeader = showRefreshHeader; + if (_showRefreshHeader) { + __weak EaseRefreshTableViewController *weakSelf = self; + self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + [weakSelf tableViewDidTriggerHeaderRefresh]; + }]; + self.tableView.mj_header.accessibilityIdentifier = @"refresh_header"; + // header.updatedTimeHidden = YES; + } + else{ + [self.tableView setMj_header:nil]; + } + } +} + +- (void)setShowRefreshFooter:(BOOL)showRefreshFooter +{ + if (_showRefreshFooter != showRefreshFooter) { + _showRefreshFooter = showRefreshFooter; + if (_showRefreshFooter) { + __weak EaseRefreshTableViewController *weakSelf = self; + self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + [weakSelf tableViewDidTriggerFooterRefresh]; + }]; + self.tableView.mj_footer.accessibilityIdentifier = @"refresh_footer"; + } + else{ + [self.tableView setMj_footer:nil]; + } + } +} + +- (void)setShowTableBlankView:(BOOL)showTableBlankView +{ + if (_showTableBlankView != showTableBlankView) { + _showTableBlankView = showTableBlankView; + } +} + +#pragma mark - getter + +- (NSMutableArray *)dataArray +{ + if (_dataArray == nil) { + _dataArray = [NSMutableArray array]; + } + + return _dataArray; +} + +- (NSMutableDictionary *)dataDictionary +{ + if (_dataDictionary == nil) { + _dataDictionary = [NSMutableDictionary dictionary]; + } + + return _dataDictionary; +} + +- (UIView *)defaultFooterView +{ + if (_defaultFooterView == nil) { + _defaultFooterView = [[UIView alloc] init]; + } + + return _defaultFooterView; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + // Return the number of sections. + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + // Return the number of rows in the section. + return 0; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + static NSString *CellIdentifier = @"UITableViewCell"; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; + + // Configure the cell... + + return cell; +} + +#pragma mark - Table view delegate + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +{ + return KCELLDEFAULTHEIGHT; +} + +#pragma mark - public refresh + +- (void)autoTriggerHeaderRefresh +{ + if (self.showRefreshHeader) { + [self tableViewDidTriggerHeaderRefresh]; + } +} + +- (void)tableViewDidTriggerHeaderRefresh +{ + +} + +- (void)tableViewDidTriggerFooterRefresh +{ + +} + +- (void)tableViewDidFinishTriggerHeader:(BOOL)isHeader reload:(BOOL)reload +{ + __weak EaseRefreshTableViewController *weakSelf = self; + dispatch_async(dispatch_get_main_queue(), ^{ + if (reload) { + [weakSelf.tableView reloadData]; + } + + if (isHeader) { + [weakSelf.tableView.mj_header endRefreshing]; + } + else{ + [weakSelf.tableView.mj_footer endRefreshing]; + } + }); +} + +@end -- Gitblit v1.8.0