首页 > 代码库 > 高仿糗事百科

高仿糗事百科

 

相关代码展示:

#pragma mark - PSCollectionViewDelegate and DataSource methods

 

- (NSInteger)numberOfRowsInCollectionView:(PSCollectionView *)collectionView

{

    return [_picArray count];

}

 

- (PSCollectionViewCell *)collectionView:(PSCollectionView *)collectionView cellForRowAtIndex:(NSInteger)index

{

    NSDictionary *item = [_picArray objectAtIndex:index];

    

    NeiHanPicCell *cell = (NeiHanPicCell *)[_collectionView dequeueReusableViewForClass:[NeiHanPicCell class]];

    if (!cell) {

        cell = [[NeiHanPicCell alloc] initWithFrame:CGRectZero];

    }

    [cell collectionView:_collectionView fillCellWithObject:item atIndex:index];

    

    return cell;

}

 

- (CGFloat)collectionView:(PSCollectionView *)collectionView heightForRowAtIndex:(NSInteger)index

{

    NSDictionary *item = [_picArray objectAtIndex:index];

    

    return [NeiHanPicCell rowHeightForObject:item inColumnWidth:_collectionView.colWidth];

}

 

- (void)collectionView:(PSCollectionView *)collectionView didSelectCell:(PSCollectionViewCell *)cell atIndex:(NSInteger)index

{

    NSDictionary *dict = [_picArray objectAtIndex:index];

    QiuShiImageViewController *qiushiImageVC = [[QiuShiImageViewController alloc] initWithNibName:@"QiuShiImageViewController" bundle:nil];

    [qiushiImageVC setQiuShiImageURL:[dict objectForKey:@"image0"]];

    qiushiImageVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

    [self presentViewController:qiushiImageVC animated:YES completion:nil];

    [qiushiImageVC release];

}

 

#pragma mark - UIScrollView delegate method

 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView];

    [_loadMoreFooterView loadMoreScrollViewDidScroll:scrollView];

}

 

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

{

    [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView];

    [_loadMoreFooterView loadMoreshScrollViewDidEndDragging:scrollView];

}

 

#pragma mark - EGORefreshTableHeaderDelegate methods

 

- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView *)view

{

    _reloading = YES;

    _requestType = RequestTypeNormal;

    

    _currentPage = 0;

    [self loadNeiHanPicDataSource];

}

 

- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView *)view

{

    return _reloading;

}

 

- (NSDate *)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView *)view

{

    return [NSDate date];

}

 

#pragma mark - LoadMoreFooterView delegate method

 

- (void)loadMoreTableFooterDidTriggerRefresh:(LoadMoreFooterView *)view

{

    _reloading = YES;

    _requestType = RequestTypeLoadMore;

    

    _currentPage++;

    [self loadNeiHanPicDataSource];

}

 

#pragma mark - ASIHTTPRequest delegate methods

 

- (void)requestFinished:(ASIHTTPRequest *)request

{

    JSONDecoder *jsonDecoder = [[JSONDecoder alloc] init];

    NSDictionary *dic = [jsonDecoder objectWithData:[request responseData]];

    

   // NSLog([request responseData]);

    

    [jsonDecoder release];

    

    if (_reloading) {

        _reloading = NO;

        [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:_collectionView];

        [_loadMoreFooterView loadMoreshScrollViewDataSourceDidFinishedLoading:_collectionView];

    }

    

    if (_requestType == RequestTypeNormal) {

        [_picArray removeAllObjects];

    }

    

    [_picArray addObjectsFromArray:[dic objectForKey:@"list"]];

    

    [self dataSourceDidLoad];

}

 

- (void)requestFailed:(ASIHTTPRequest *)request

{

    [self dataSourceDidError];

    if (_reloading) {

        _reloading = NO;

        [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:_collectionView];

        [_loadMoreFooterView loadMoreshScrollViewDataSourceDidFinishedLoading:_collectionView];

    }

}

 

#pragma mark - ASIHTTPRequest method

 

- (void)initNeiHanPicRequestWithPage:(NSInteger)page

{

    self.picRequest = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:api_neihan_picture(page)]];

    _picRequest.delegate = self;

    [_picRequest startAsynchronous];

}

 

#pragma mark - UIAction method

 

- (IBAction)sideButtonClicked:(id)sender

{

    [self sideButtonDidClicked];

}