• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 分页 UIScrollView 上的缩放效果?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:57:22 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想在我创建的分页 UIScrollView 上实现“缩放”效果,但我遇到了很多困难。我的目标是,当用户开始滚动到下一页时,当前页面会缩小以变得更小。当下一页进入 View 时,它会放大直到变成完整尺寸。我能找到的最接近示例的是这个......

https://www.pinterest.com/pin/147141112804210631/

谁能给我一些关于如何做到这一点的指示?在过去的 3 天里,我一直在用头撞墙。



Best Answer-推荐答案


我建议使用分页 UIScrollView 的 scrollView.contentOffset.y 来跟踪滚动,并使用该值来为 UIScrollView 内的 View 转换设置动画。

所以添加您的分页 ScrollView 并将自己设置为委托(delegate)

    paginatedScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, [[self view] bounds].size.width, [[self view] bounds].size.height-paginatedScrollViewYOffset)];
    [self.view addSubview:paginatedScrollView];

    paginatedScrollView.pagingEnabled = YES;
    [paginatedScrollView setShowsVerticalScrollIndicator:NO];
    [paginatedScrollView setShowsHorizontalScrollIndicator:NO];
    [paginatedScrollView setAlwaysBounceHorizontal:NO];
    [paginatedScrollView setAlwaysBounceVertical:YES];
    paginatedScrollView.backgroundColor = [UIColor clearColor];

    paginatedScrollView.contentSize = CGSizeMake([[self view] bounds].size.width, [[self view] bounds].size.height*2); //this must be the appropriate size depending of the number of pages you want to scroll

    paginatedScrollView.delegate = self;

然后使用委托(delegate)方法scrollViewDidScroll来跟踪scrollView.contentOffset.y

- (void) scrollViewDidScrollUIScrollView *)scrollView {

    NSLog(@"Scroll Content Offset Y: %f",scrollView.contentOffset.y);
    //use here scrollView.contentOffset.y as multiplier with view.transform = CGAffineTransformMakeScale(0,0) or with view.frame to animate the zoom effect

  }

关于ios - 分页 UIScrollView 上的缩放效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554774/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap