• ios 类似的效果淘宝商品详细页面


    今天试着写ios 分类似影响淘宝的商品详细页面

    我使用第三方库EGORefreshTableHeaderView有一个下拉效果刷新PWLoadMoreTableFooterView上拉电阻负载许多其他

    的基本思想是UISCrollView两页。一页展示商品概况。还有一页展示商品很多其它详情

    首先,第一页的view包括一个UITableView,这个tableView实现PWLoadMoreTableFooterView中的delegate方法,

    实现delegate代理方法的时候使用

    - (void)scrollViewByPageControlPage:(NSInteger)page
    {
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.50];
        [self.backScrollView setContentOffset:CGPointMake(0, (ScreenHeight-navigationHeight-OffsetHeight)*page)];
        [UIView commitAnimations];
    }
    

    将scrollView滚动到第二页。以便展示很多其它详情。

    再次,在scrollview的第二页中增加一个View ,在此view上再创建一个ScrollView,这个scrollView实现EGORefreshTableHeaderView的delegate方法

    详细例如以下:

    #pragma mark -
    #pragma mark EGORefreshTableHeaderDelegate Methods
    
    
    - (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{
        
        [self reloadTableViewDataSource];
        [self performSelector:@selector(doneLoadingTableViewDataForIndex) withObject:nil afterDelay:1.0];
        
    }
    
    
    - (void)doneLoadingTableViewDataForIndex
    {
        _reloading = NO;
        [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:lectureScrollView];
        
        [_loadMoreFooterView pwLoadMoreTableDataSourceDidFinishedLoading];
        
        [self scrollViewByPageControlPage:0];
    }
    
    
    - (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{
        
        return _reloading; // should return if data source model is reloading
        
    }
    
    
    - (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{
        
        return [NSDate date]; // should return date data source was last changed
    }
    
    一下实现EGORefreshTableHeaderView的delegate方法

    此处设置跳转到SCRollView第一页

    - (void)doneLoadingTableViewDataForIndex
    {
        _reloading = NO;
        [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:lectureScrollView];
        
        [_loadMoreFooterView pwLoadMoreTableDataSourceDidFinishedLoading];
        
        [self scrollViewByPageControlPage:0];
    }

    到此基本上实现了该框架。

    推荐阅读:www.wahenzan.com


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    LeetCode Medium:15. 3Sum
    LeetCode Medium:12. Integer to Roman
    LeetCode Medium: 11. Container With Most Water
    TypeError: unsupported operand type(s) for /: 'map' and 'int'
    【C#】课堂知识点#4
    【C#】课堂知识点#3
    【统计与建模】R语言基本操作
    【题解】表达式的值
    【题解】瑞士轮
    【题解】道路游戏
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4837157.html
Copyright © 2020-2023  润新知