Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带页面左右预览的UIScrollView_C#_Objective C_Xamarin.ios - Fatal编程技术网

C# 带页面左右预览的UIScrollView

C# 带页面左右预览的UIScrollView,c#,objective-c,xamarin.ios,C#,Objective C,Xamarin.ios,我希望有一个滚动视图,其中包含用户可以向左或向右滑动并与之交互的视图。scrollview中有用户需要与之交互的UIView 我已经能够添加视图,并且它可以在启用分页的情况下正常工作。不幸的是,我似乎没有找到一个展示预览的好方法 在a有一个帖子,解释了如何处理它。解决方案有三个问题: 仅当预览宽度为中心图像宽度的1/4时,此选项才有效。我原本以为我找到了一个公式来处理预览的大小,但随着幻灯片数量的变化,我错了 如果预览的宽度不是滑动宽度的1/4,但中心滑动将偏离中心 当前幻灯片未启用UI交互

我希望有一个滚动视图,其中包含用户可以向左或向右滑动并与之交互的视图。scrollview中有用户需要与之交互的UIView

我已经能够添加视图,并且它可以在启用分页的情况下正常工作。不幸的是,我似乎没有找到一个展示预览的好方法

在a有一个帖子,解释了如何处理它。解决方案有三个问题:

  • 仅当预览宽度为中心图像宽度的1/4时,此选项才有效。我原本以为我找到了一个公式来处理预览的大小,但随着幻灯片数量的变化,我错了
  • 如果预览的宽度不是滑动宽度的1/4,但中心滑动将偏离中心
  • 当前幻灯片未启用UI交互,除非它是第一张幻灯片(并且是可见幻灯片的一部分)。当你转到其他部分时,我不能使用按钮
我在网上搜索了很多关于如何做到这一点的信息,但没有找到解决方案。即使在目标C中,也欢迎提出建议


更新:我提出了一个解决方案,它符合我在这里描述的内容

去年的WWDC中有一段地址簿示例代码,我想它叫做PhotoBook,展示了如何实现这一点。基本上,这是您需要的设置:

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

我想出了一个解决方案,它符合我在这里描述的内容

在启用分页的情况下,能否将滚动视图框设置为您实际需要的视图框,但请将clipsToBounds设置为否,以便内容将显示在分页框之外?我尝试过了,问题是当您滚动时,立即向左或向右的幻灯片会被跳过。我需要预览移动到中心后,轻扫,好像要表明一个快照。!谢谢前两行项目与我所拥有的差不多。最后一项withTest很有趣,但是对于scrollview的子类,它总是返回相同的坐标,并且返回当前实例并不会使其停止运动。我目前正在调查setContentOffset是否是一条可行之路。我可以计算“帧索引一”(frame index one)处于启用状态的帧,检查动画是否正在减速似乎有点像样。完成后,我会将其发布到github上。不要将滚动视图本身子类化为通用UIView子类,它是您希望滚动的整个可见区域的大小,并将您的滚动视图作为该视图的子视图。这个技巧的全部要点是,您可以在滚动视图中将
paginEnabled
设置为
YES
,它将为您处理减速/居中。我不想强加。我试图找到2010年的wwdc演示文稿,但找不到您所描述的内容。也许,有个把戏我看不出来。然而,我确实提出了一个解决方案,它满足了我的需求。谢谢你的帮助。