平移和缩放的替代方案
Posted
技术标签:
【中文标题】平移和缩放的替代方案【英文标题】:Alternatives for panning and zooming 【发布时间】:2014-09-12 21:44:55 【问题描述】:我有一个包含许多子视图的视图(代表数学对象——想想一个方程组,每个方程中的每个项都是一个单独的控件)。我希望能够放大和缩小视图,并在它周围平移。但我不想使用UIScrollView
,至少不是传统方式,因为视图中的控件使用了很多相同的手势——滑动、捏合等。
另一种方法是使用UIScrollView
,但要“锁定”视图,使其不会缩放或平移,允许控件接收这些手势,然后使用按钮进行缩放和平移——有点像控件在 Mapquest(在线)上。但这感觉非常“离散”(不连续和平滑)和过时。
有没有更好的方法来解决这个问题?
【问题讨论】:
【参考方案1】:您可以使用自定义浮动导航控件,而不是使用滚动条和按钮等标准 UI 元素来操作主视图。在视图的一个角落制作一个小矩形,无论主视图的缩放或平移值如何,该矩形始终保持在那里并保持其大小。用户可以在其中使用标准手势来缩放和平移主视图。 诀窍是让它直观,这样用户就可以清楚地知道这就是视图的使用方式。在矩形内显示整体视图的缩小快照是一种技术。
顺便说一句,当您说使用标准控件不连续和流畅时,我不确定您的意思。为什么不?您应该能够获得与手势相同的交互性。
【讨论】:
这是个好主意。正如您所说,可能很难使其直观。关于“不平滑”,我的意思是典型的 Mapquest 类型的控制在离散的跳跃中平移,而不是允许连续的平移。以上是关于平移和缩放的替代方案的主要内容,如果未能解决你的问题,请参考以下文章