• 高仿糗事百科


    相关代码展示:

    #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];

    }

  • 相关阅读:
    Animation(三)
    布局
    AutoCommpleteText
    PHP数组中常用函数
    Animation(四)
    转:JAVA内存映射文件
    Ubuntu安装jdk
    转:Java NIO 详解
    转:长连接与短连接
    Direct or Nondirect ByteBuffer
  • 原文地址:https://www.cnblogs.com/yulang314/p/3833182.html
Copyright © 2020-2023  润新知