Ios 如何在UITable with UIButtons中通过分页实现web服务加载?
我需要以如下方式在UITableView中实现分页 如果记录数超过屏幕允许的行数(如5),则应用程序应自动显示分页控制 分页窗格应允许用户使用窗格上的按钮在页面之间导航。 分页窗格上的按钮有两种类型: 单页导航:这些按钮一次只允许浏览一页 多页导航:这些按钮允许用户一次跳过多页 这是我执行的代码。但是如何基于此获取web服务呢Ios 如何在UITable with UIButtons中通过分页实现web服务加载?,ios,objective-c,iphone,pagination,Ios,Objective C,Iphone,Pagination,我需要以如下方式在UITableView中实现分页 如果记录数超过屏幕允许的行数(如5),则应用程序应自动显示分页控制 分页窗格应允许用户使用窗格上的按钮在页面之间导航。 分页窗格上的按钮有两种类型: 单页导航:这些按钮一次只允许浏览一页 多页导航:这些按钮允许用户一次跳过多页 这是我执行的代码。但是如何基于此获取web服务呢 @interface ViewController (){ //pageNumber will hold the current page index
@interface ViewController (){
//pageNumber will hold the current page index
NSInteger _pageNumber;
//keeping the max page number for ease of calculation
NSUInteger _maxPageNumber;
//the batch size
NSUInteger _numberOfVisibleRows;
}
@end
@implementation ViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
//Main data array is formed
NSUInteger rows = 0;
NSMutableArray *tempArray = [NSMutableArray array];
while (rows<52) {
[tempArray addObject:[NSString stringWithFormat:@"Item %d",rows+1]];
rows++;
}
self.mainArray = [NSArray arrayWithArray:tempArray];
_pageNumber = 0;
_numberOfVisibleRows = 5;
_maxPageNumber = [self.mainArray count]/_numberOfVisibleRows;
self.subArray = [self subArrayForPageNumber:_pageNumber];
}
- (NSArray *)subArrayForPageNumber:(NSUInteger)pageNumber{
NSRange range = NSMakeRange(_pageNumber*_numberOfVisibleRows, _numberOfVisibleRows);
if (range.location+range.length>[self.mainArray count]) {
range.length = [self.mainArray count]-range.location;
}
return [self.mainArray subarrayWithRange:range];
}
- (IBAction)buttonPressed:(UIBarButtonItem *)button{
//Same method is used for calculating the page numbers
if (button.tag ==1) {
_pageNumber= MIN(_maxPageNumber, _pageNumber+1);
}else{
_pageNumber = MAX(0, _pageNumber-1);
}
self.subArray = [self subArrayForPageNumber:_pageNumber];
[self.tableView reloadData];
}
@界面视图控制器(){
//pageNumber将保存当前页面索引
NSInteger\u页码;
//保留最大页码以便于计算
NSU整数_maxPageNumber;
//批量大小
NSUInteger numberOfVisibleRows;
}
@结束
@实现视图控制器
-(id)initWithStyle:(UITableViewStyle)样式
{
self=[super initWithStyle:style];
如果(自我){
//自定义初始化
}
回归自我;
}
-(无效)viewDidLoad
{
[超级视图下载];
//形成主数据阵列
整数行=0;
NSMutableArray*tempArray=[NSMutableArray];
while(行[self.mainArray count]){
range.length=[self.main数组计数]-range.location;
}
返回[self.mainArray subrayWithRange:range];
}
-(IBAction)按钮按下:(UIBarButtonim*)按钮{
//使用相同的方法计算页码
if(button.tag==1){
_pageNumber=MIN(_maxPageNumber,_pageNumber+1);
}否则{
_页码=最大值(0,_页码-1);
}
self.subArray=[self subArrayForPageNumber:_pageNumber];
[self.tableView重载数据];
}
您需要哪种分页?如加载更多或左/右滚动分页?左/右滚动分页您可以使用pageViewController。GitHub源代码将非常有帮助…分页教程: