【问题标题】:Detecting which of several UIViews is displayed in paging UIScrollView检测分页 UIScrollView 中显示了几个 UIView 中的哪一个
【发布时间】:2012-04-02 02:49:36
【问题描述】:

我有一个UIScrollView,其中包含十个UIViews,并且启用了分页。在scrollViewDidEndDecelerating: 上,我想决定哪个子UIViews 显示在滚动视图的框架中。

我打算检查每个视图的左上角和右下角,以确保两个点都在滚动视图的框架中,但这似乎是一种效率较低的方法。

有没有更好的方法来做到这一点?

【问题讨论】:

  • @janusfidel 这当然是有用的第一步。谢谢。
  • 您为什么要这样做?如果您在滚动视图中启用了分页,最大可见视图将自动调整为全视图。
  • @cocoakomali 我想根据他们切换到哪个视图来更改应用程序的另一部分,但我需要先知道活动视图才能这样做。
  • 为了做到这一点,您可以在滚动后获取滚动视图的内容偏移量并计算它的位置。我将给出示例代码作为答案。

标签: cocoa-touch uiview uiscrollview


【解决方案1】:

以下代码假设它是一个纵向的 iphone 应用程序。

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
     int page= floor((scrollView.contentOffset.x - 320/2) / 320)+1  ;
}

【讨论】:

  • 我做了一个变体,所以你可以得到奖品!
猜你喜欢
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多