翻页效果
来源:互联网 发布:体感游戏机的价格淘宝 编辑:程序博客网 时间:2024/06/12 01:14
在总的控制器中的大表中加载表头和表尾,大表中的表头又是一个小表,又装有表头和一个单元格,表头是一个轮播器,单元格是一个加载的nib。大表中的表尾也是一个小表,这个小表有一个单元格,这个单元格中有一个scrollview,scrollview中装有三个表,分别是图文详情、产品参数、店铺推荐。
用偏移量写的话,如果换成6p或者6的时候因为屏幕变大,表的偏移量会变小,随着屏幕的大小改变,偏移量是找不到固定的值的,这样很难控制,达不到所要的效果
今天想的一个新思路:
--》(解决办法):大表套两个小表,这两个小表分别做大表的表头和表尾,然后根据两个小表的偏移量控制大表的偏移量。简单来说,就是 在大表中的表头中设置两个参数BOOL类型的isScroll来表示是否已经滑动和CGFloat类型的offset来表示偏移量,然后表有一个方法:- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;即表中的单元格将要展示的时候调用。想知道最后一个cell显示的时候的,表的偏移量是多少,这样我就可以知道使表的偏移量大于这个值,然后将表尾显示出来。根据最后一个单元格展示来确定当前表的偏移量。//根据最后一个单元格展示来确定当前表的偏移量
if([indexPath row] == ((NSIndexPath*)[[tableView indexPathsForVisibleRows] lastObject]).row){
//将这个偏移量多出100,使其不至于滑到最后一个单元格就展示商品详情表
offset = self.headTableView.contentOffset.y + 100;
//将是否能够展示商品详情表变为真
isScroll = YES;}
然后再在方法- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate中,可以展示的时候再判断当前表的偏移量是否大于 self.headTableView.contentOffset.y + 100。具体写法: if (isScroll) {
if (self.headTableView.contentOffset.y > offset) {
//当是的时候执行块
self.changeOffestBlock();
}
}
而这个块当然要在详情总的控制器中写,用方法setContentOffset让它的偏移量CGPointMake(0, kMainViewSize.height)。
然后在表尾的这个视图中,也要有偏移量的块,同样的,在方法- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate中,写个块
if (self.footTableView.contentOffset.y < -0.5) {
self.chanegContentOffset();
}
而这个块当然要在详情总的控制器中写,用方法setContentOffset让它的偏移量CGPointMake(0, 0)
- 翻页效果
- 翻页效果
- 翻页效果
- 翻页效果
- 翻页效果
- 翻页效果
- 翻页效果
- 翻页效果
- 静态页面翻页效果
- 静态页面翻页效果
- 首页图片翻页效果
- 图片翻页滚动效果
- Flex 翻页效果
- JS翻页效果
- CSS 翻页效果
- 图片翻页幻灯效果
- jquery翻页效果
- Flex翻页效果FlexBook
- Validate Binary Search Tree
- 快手之家(aardio.net) - 感谢信
- 使用 JavaFX 快速创建应用程序
- How Many Maos Does the Guanxi Worth
- Android开发之DrawerLayout
- 翻页效果
- 高端冰箱争霸战 三星如何三招制胜?
- 给java项目改名字
- Java面试题全集
- Android M 新的运行时权限开发者需要知道的一切
- 基础笔试题:编程实现一个单链表的建立、测长、打印
- 很激动——三
- 【VBA研究】用Ping命令测试IP地址是否通达
- VS2008水晶报表发布后无法使用的解决方案