【问题标题】:UIScrollView pass dragging to main viewUIScrollView 通过拖动到主视图
【发布时间】:2014-06-09 01:18:57
【问题描述】:

我有下一个麻烦,希望你能给我建议来处理它。

我有带有垂直滚动的页面控制器。在页面视图内部,我使用了一些组件,其中之一是 UIScrollView。为了在页面之间滚动,我应该拖动除此 UIScrollView 之外的任何内容,因为 ScrollView 会捕获任何事件并阻止页面控制器获取它们。

所以我的问题是,如何将拖动事件从 UIScrollView 传递给 UIPageControllerView。

例如,当 UISCrollView 的滚动内容到达顶部时,它会通过拖动,以便页面控制器可以更改页面。反之亦然,如果您到达 UIScrollView 内容的末尾,则下一次拖动由 PageController 处理以更改页面。

感谢任何建议。 谢谢。

【问题讨论】:

    标签: ios uiscrollview uigesturerecognizer uipageviewcontroller


    【解决方案1】:

    你想要的听起来很像下拉刷新技术,你可以在其中下拉页面以获取最新的推文/Facebook 帖子/柠檬派食谱/任何东西。您不希望刷新,而是希望该事件触发到新页面的转场。默认内置仅适用于 UITableView,但有很多库可以让您使用 UIScrollView。这是一个例子:

    http://mt.gomiso.com/2012/03/22/yet-another-pull-to-refresh-library/

    您可以将它们拆开看看或按原样使用它们,我无法准确确定您想要什么。


    您还可以尝试深入研究以下 UIScrollView 方法:

    -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
    

    然后看看 contentOffset 在那个时候有什么值。

    现在,如果您想从 UIPageViewController 中查看滚动视图的作用,您可以在 UIPageViewController 上实现 UIScrollViewDelegate 协议并将该视图控制器设置为 UIScrollView 的委托:

    https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/reference/uiscrollviewdelegate.html

    代码看起来有点像这样:

    .h:

    @interface ViewController : UIPageViewController<UIScrollViewDelegate>
    
    @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
    // The rest of your properties
    
    @end
    

    .m:

    - (void)viewDidLoad;
    {
        // Tell the scrollView you want to be the delegate for it
        self.scrollView.delegate = self;
    }
    
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
    {
        // read self.scrollView.contentOffset and see if it has been pulled out of bounds
        // If it is, do a segue
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多