Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在UITable with UIButtons中通过分页实现web服务加载?_Ios_Objective C_Iphone_Pagination - Fatal编程技术网

Ios 如何在UITable with UIButtons中通过分页实现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

我需要以如下方式在UITableView中实现分页

如果记录数超过屏幕允许的行数(如5),则应用程序应自动显示分页控制

分页窗格应允许用户使用窗格上的按钮在页面之间导航。 分页窗格上的按钮有两种类型:

单页导航:这些按钮一次只允许浏览一页

多页导航:这些按钮允许用户一次跳过多页

这是我执行的代码。但是如何基于此获取web服务呢

    @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源代码将非常有帮助…分页教程: