java+tableseg,多种功能集成,带Refresh刷新的tableV,Seg分段控件

支持 IOS7+  详见Demo

TestSegmentAndRefreshTableViewDemo

多种功能集成,带Refresh刷新的tableV,Seg分段控件,加载提示toast

##使用到了

pod 'HMSegmentedControl' ##分段控件

pod 'MJRefresh' ##上下拉刷新

pod 'DZNEmptyDataSet' ##空页面

pod 'SVProgressHUD' ##加载中…

pod 'Toast' ##Toast提示

图片效果

bb57aad34d3af398f28e49cad3b7e588.gif

使用 HXTableView

pod 'HXTableView'

- (void)initUI {

CGRect tableVFrame = self.view.frame;

tableVFrame.size.height = tableVFrame.size.height;

tableV = [[HXTableView alloc] initWithFrame:tableVFrame style:UITableViewStylePlain];

// tableV.hiddenExtraLine = YES; //default

//空页面设置

tableV.emptyImage = [UIImage imageNamed:@"icon_refresh_1@2x"];

// tableV.emptyTitle = @"121222";

tableV.emptySubtitle = @"描述";

// tableV.emptyButtontitle = @"按钮啊";

tableV.hxDelegate = self;

[self.view addSubview:tableV];

//空页面点击 刷新

// tableV.emptyAllowTouch = YES;

// [tableV hxTableViewEmptyClick:^{

// NSLog(@"点击了空页面 ,执行刷新");

//

// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

// dataArr = [NSMutableArray arrayWithArray:@[@"1",@"2"]];

// [tableV reloadData];

// });

//

//

// }];

dataArr = nil;

//刷新 gif 图片

// tableV.refreshGifImageArr = [NSMutableArray arrayWithArray:@[@"icon_refresh_1",@"icon_refresh_2",@"icon_refresh_3"]];

// dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

// tableV.refreshGifImageArr = nil;

// });

tableV.hxCanLoadState = HXCanLoadAll;

}

HX_TABLEVIEW_SepInset(0, 0,tableV)

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

return dataArr.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"CustomCell";

//自定义cell类

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

//通过xib的名称加载自定义的cell

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];

}

cell.textLabel.text = dataArr[indexPath.row];

//选中状态

cell.selectionStyle = UITableViewCellSelectionStyleNone;

//指示类型

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

return cell;

}

#pragma mark hxTableViewDelegate

-(void)loadDataRefreshOrPull:(HXRefreshState)state {

[self requestTest:state];

}

#pragma mark- Request simulate

- (void)requestTest:(HXRefreshState)state {

#warning 正常情况下 都是 一页一页的取数据 如下

NSMutableArray * tmpDataArr = [NSMutableArray arrayWithArray:

@[

@[@"1",@"2"],

@[@"3",@"4"],

@[@"5"]

]

];

#warning 成功的情况下

NSArray * currDataArr = tmpDataArr[tableV.page]; //获取到的分页数据

if (state == HXRefreshing) { //下拉

dataArr = [NSMutableArray arrayWithArray:tmpDataArr[0]];

} else { //上拉

[tableV getCurrentPage]; //page + 1,也可通过获取的page赋值

NSMutableArray * tmpArr = [NSMutableArray array];

if (currDataArr.count >= tableV.pageNum) {

[dataArr addObjectsFromArray:currDataArr];

} else {

[dataArr addObjectsFromArray:currDataArr];

[tableV noMoreData];

}

[dataArr addObjectsFromArray:tmpArr];

}

[tableV endLoading];

使用 分段控件

pod 'HXSegment'

详见代码如seg

//初始化 视图

NSMutableArray * contentVCArr = [NSMutableArray array];

for (int i = 0; i < 3; i ++) {

if (i < 2) {

ExampleTableVC * exampleTableVC = [[ExampleTableVC alloc] init];

exampleTableVC.view.backgroundColor = (i == 0)?[UIColor yellowColor]:[UIColor redColor];

[contentVCArr addObject:exampleTableVC];

} else {

UIViewController * exampleTableVC = [[UIViewController alloc] init];

exampleTableVC.view.backgroundColor = [UIColor greenColor];

[contentVCArr addObject:exampleTableVC];

}

}

HXSegmentVCView * seg = [[HXSegmentVCView alloc] initWithTitleArr:@[@"tableVC1",@"tableVC2",@"VC"] contentVCArr:contentVCArr];

seg.view.frame = CGRectMake(0, 64, HX_SEG_SCREEN_WIDTH, HX_SEG_SCREEN_HEIGHT - 64);

seg.defaultIndex = 1; //设置默认

[self.view addSubview:seg.view];

//改变标题

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

[seg setSegTitle:@"1212(1)" index:0];

});

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

[seg setSegTitle:@"1111(10)" index:1];

});

//点击事件回调

[seg setSegSelect:^(UIViewController *vc, NSInteger index) {

NSLog(@"seg click %ld",(long)index);

}];

联系我

有什么问题,发邮件到(627556038@qq.com) 或者直接 提问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值