UItableViewページング
6132 ワード
UItableViewのページングは簡単で、ARC環境、ソースコードは以下のようにバックアップします.
最後のcellをクリックしてイベントをトリガーしてデータを処理しreloadData
RootViewController.m + RootViewController.h
最後のcellをクリックしてイベントをトリガーしてデータを処理しreloadData
RootViewController.m + RootViewController.h
#import "RootViewController.h"
@interface RootViewController ()<UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) NSMutableArray *dataSource;
@end
@implementation RootViewController
- (void)viewDidLoad
{
[super viewDidLoad];
_dataSource = [[NSMutableArray alloc] init];
for (int i = 0; i < 10; i++)
{
[_dataSource addObject:[NSString stringWithFormat:@"%d", i]];
}
_tableView = [[UITableView alloc] initWithFrame:self.view.bounds
style:UITableViewStylePlain];
_tableView.dataSource = self;
_tableView.delegate = self;
[self.view addSubview:_tableView];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// , cell
return _dataSource.count + 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *reusedStr = @"demo";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reusedStr];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:reusedStr];
}
if([indexPath row] == ([_dataSource count]))
{
// cell
cell.textLabel.text=@" ..";
}
else
{
// cell
cell.textLabel.text=[_dataSource objectAtIndex:[indexPath row]];
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// ,
if (indexPath.row == ([_dataSource count]))
{
[self performSelectorInBackground:@selector(loadMore)
withObject:nil];
[tableView deselectRowAtIndexPath:indexPath animated:YES];
return;
}
}
- (void)loadMore
{
//
for (int i = 0; i < 10; i++) {
[_dataSource addObject:[NSString stringWithFormat:@" %d", i]];
}
// tableView
[_tableView reloadData];
}
@end
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController
@end