【问题标题】:Need Suggestion to Swipe through Views需要建议以浏览视图
【发布时间】:2015-06-23 18:40:56
【问题描述】:
我在didSelectrowAtIndex 上有一个UITableView,它会推送到viewController,它显示了UIScrollView 上的详细信息,它可以垂直滚动。
现在我需要如果我点击任何行,它将被推送到相同的viewController 并显示所选行的详细信息,此外,我需要具有滑动功能以查看tableview 中所有行的数据而不是 go返回并选择另一行。
我知道它可以通过UIPageControl 或[scrollView setPagingEnabled:YES]; 来实现,但我想知道是否有更好的方法可以做到这一点,或者我应该使用这两个中的任何一个,如果是,那么哪个更好?
请帮助伙计们......任何帮助将不胜感激。
在此先感谢....:)
【问题讨论】:
标签:
ios
objective-c
uiscrollview
uipagecontrol
uiswipegesturerecognizer
【解决方案1】:
当然,有很多方法可以实现您想要的。您应该记住,UIPageControl 对显示的项目(点)数量有限制(超过 20 个项目会重叠)。此外,对于喜欢点击按钮而不是滑动/平移的用户来说,拥有下一个/上一个按钮是合适的。我更喜欢使用UISwipeGestureRecognizers 和工具栏上的按钮在项目之间导航。
【解决方案2】:
在我看来,关键是控制同时在内存中保存多少 UIKit 控件。无论您如何实现这一点,您都希望确保您的解决方案只为当前可见的子元素或前一个和下一个子元素保存 UIKit 控件,但不适用于整个数组(特别是如果您正在处理UIImageView 对象)。
要考虑的一个控件是UIPageViewController。乍一看,它可能看起来很复杂,但实际上它非常简单,并且提供了一种在不同“页面”之间滑动的好方法,而不是同时将所有页面保存在内存中。见View Controller Catalog for iOS: Page View Controller。
如果您决定实现启用分页的滚动视图,我建议指定delegate 并实现UIScrollViewDelegate 方法以根据需要添加和删除子视图。这是我以前做过的事情,但我现在倾向于使用页面视图控制器。
还有大量“无限滚动”的第三方实现,它们实现了这种功能,但我不能保证任何特定的功能。