zoukankan      html  css  js  c++  java
  • 高仿糗事百科

    相关代码展示:

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

    }

  • 相关阅读:
    python 线程Queue 用法代码展示
    Python中的join()函数的用法
    python 中爬虫 content和text的区别
    免费代理ip爬虫分享
    django数据库的表已迁移的不能重新迁移的解决办法
    RuntimeError: Model class app_anme.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.---python学习错误记录
    MYSQL查询操作 详细
    mysql数据库的基本操作命令总结
    http短连接与长连接简介
    浅谈http协议
  • 原文地址:https://www.cnblogs.com/yulang314/p/3833182.html
Copyright © 2011-2022 走看看