Iphone 重新创建UIPickerView,只显示一行

Iphone 重新创建UIPickerView,只显示一行,iphone,ios,uiscrollview,uipickerview,Iphone,Ios,Uiscrollview,Uipickerview,我需要一个“PickerView”,它的行为类似于普通的UIPickerView,但只显示一行数据并具有自定义设计 如图所示,显示了从子视图1到子视图2的过渡。用户抬起手指并停止滚动后,将只显示一个子视图: 所以基本上是一个滚动视图,它: 通过一遍又一遍地显示相同的条目,在正面和负面两个方向上都是无止境的 跨多个子视图使用分页 不滚动时仅显示一个子视图,滚动时不超过两个子视图 我可以得到一个无休止的滚动视图来工作,但不能启用分页。分页将始终限制我滚动到下一个子视图 所以我正在考虑创建我自己

我需要一个“PickerView”,它的行为类似于普通的UIPickerView,但只显示一行数据并具有自定义设计

如图所示,显示了从子视图1到子视图2的过渡。用户抬起手指并停止滚动后,将只显示一个子视图:

所以基本上是一个滚动视图,它:

  • 通过一遍又一遍地显示相同的条目,在正面和负面两个方向上都是无止境的

  • 跨多个子视图使用分页

  • 不滚动时仅显示一个子视图,滚动时不超过两个子视图

我可以得到一个无休止的滚动视图来工作,但不能启用分页。分页将始终限制我滚动到下一个子视图

所以我正在考虑创建我自己的UIView子类,它可以自定义滚动行为来模拟UIPickerView。但在这样做之前,我想从总体上获得一些关于这个想法的意见。创建自定义UIView是正确的方法吗?有人对预期绩效有经验吗?(将有计时器来处理滚动算法,当然必须重新创建该算法…:)

另一种方法是将UIScrolView子类化并自己实现分页。我知道滚动视图何时开始减速 ,因此,也许有一种方法可以覆盖contentOffset,使其滚动到正确的位置


感谢您的帮助!谢谢

是否可以只使用
UIPickerView
,但要裁剪到中间一行?您可以关闭
showselectionindicator
以删除覆盖,并让代理传回自定义行视图。

是否可以只使用
UIPickerView
,但将其剪切到中间行?您可以关闭
showselectionindicator
以删除覆盖,并让代理传回自定义行视图。

这里是一个很棒的自定义组件,它似乎可以完成您需要的所有操作:


它不是无穷无尽的,而是一个修改过的UITableView,包含大量单元格。

这里是一个很棒的自定义组件,它似乎可以完成您需要的所有操作:

它不是无止境的,而是一个有大量单元格的修改后的UITableView