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


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。