【问题标题】:UIScrollView scrollViewDidEndDecelerating not triggeringUIScrollView scrollViewDidEndDecelerating 不触发
【发布时间】:2013-01-10 16:30:52
【问题描述】:

我有一个UIScrollView,以编程方式在UIView 内创建。我需要做什么才能确保我可以使用委托方法scrollViewDidEndDecelerating

这是我设置的,请假设在UIScrollView 中有三个UIImageViews。当页面首次加载时,我正在查看中心UIImageView,我可以向后或向前滚动一次。我之所以需要这个委托方法是因为我打算用它来计算我当前正在查看的UIImageView

ViewController.h

@interface ViewController : UIViewController <UIScrollViewDelegate>

ViewController.m

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
scrollView.pagingEnabled = YES;
[self.view addSubview: scrollView];

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewDidEndDecelerating");
}

【问题讨论】:

  • 看中心是什么意思?
  • 嗨 Malloc,当我说“中心”时,我指的是第二个 UIImageView。所以总的来说,如果你能想象 UIImageViews [1] [2] [3],页面会在 [2] 上加载。

标签: ios uiview uiscrollview uiscrollviewdelegate


【解决方案1】:

在你的delegate方法中,你可以测试每一个uiimageview中心,看看哪个和uiview中心匹配,那就是你正在看的uiimageview。

【讨论】:

    【解决方案2】:

    添加

     scrollView.delegate = self
    

    在滚动视图初始化之后。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      相关资源
      最近更新 更多