UIScrollView,左侧和右侧预览页面

时间:2011-07-13 16:03:53

标签: c# objective-c xamarin.ios

我想要一个内部视图的滚动视图,用户可以向左或向右滑动并与之交互。 scrollview内部有UIViews,用户需要与之交互。

scrollview

我已经能够添加视图,它可以正常启用Paging。不幸的是,我似乎没有找到展示预览的好方法。

UIScrollview Paging Hack有帖子,解释了如何处理它。解决方案有三个问题:

  • 仅当预览是中心图像宽度的1/4时才有效。我原本以为我找到了一个处理预览大小的公式,但随着幻灯片数量的变化,我错了。
  • 如果预览的宽度不是滑动宽度的1/4,则中心滑块会偏离中心。
  • 当前幻灯片没有启用UI交互,除非它是第一个(并且是可见内容的一部分)。当您滑动到其他部分时,我无法使用按钮。

我在网上搜索了很多关于如何做到这一点,并且无法找到解决方案。即使在目标C中也欢迎提出建议。

更新:我已经提出了一个解决方案来完成我在这里描述的内容。 https://github.com/roland/Carousel/tree/master/Carousel

2 个答案:

答案 0 :(得分:1)

去年的WWDC上有一段地址簿示例代码 - 我认为它被称为PhotoBook--它展示了如何实现这一目标。基本上,这是您需要的设置:

  • 宽度为(每个内容页面的宽度)+(页面之间所需的填充空间)的滚动视图
  • 页面内容位于滚动视图内,位于(页面索引)的X位置*((页面宽度)+(填充空间)) - 0.5 *(填充空间)
  • 包含滚动视图的子视图,其-hitTest:withEvent:方法被覆盖以始终返回其包含的滚动视图

答案 1 :(得分:0)

我已经提出了一个解决方案来完成我在这里描述的内容。 https://github.com/roland/Carousel/tree/master/Carousel