【问题标题】:ScrollView Detecting Scrolling EverywhereScrollView 检测到处滚动
【发布时间】:2013-07-03 06:42:08
【问题描述】:

我有一个 208pt 宽和 280pt 高的 UIScrollView,其中包含 200pt 宽和 280pt 高的自定义按钮,它们之间有 8pt 的间隙。此滚动视图已启用分页,但不会剪辑子视图,因此它总是捕捉到一个按钮居中,但显示其他按钮不在屏幕上。我正在尝试使您可以在其中滑动按钮的字段占据屏幕的整个宽度,并且我正在尝试使用称为 PagingView 的 UIScrollView 的辅助自定义子类来完成此操作,该子类只有一个 UIScrollView 属性并传递所有点击在它上向下滚动到它的滚动视图。但是,无论出于何种原因,当我在没有这样的分页视图的情况下尝试它时:

unsigned height = self.view.frame.size.height;
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(60, height - 308, 208, 280)];
scrollView.pagingEnabled = true;
scrollView.clipsToBounds = false;
scrollView.showsHorizontalScrollIndicator = false;
[self.view addSubview:scrollView];

它可以工作,尽管我可以与仅限于其框架的滚动视图进行交互。但是,当我尝试使用滚动视图时:

unsigned height = self.view.frame.size.height;
pagingView = [[PagingView alloc] initWithFrame:CGRectMake(0, height - 308, 320, 280)];
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(60, height - 308, 208, 280)];
scrollView.pagingEnabled = true;
scrollView.clipsToBounds = false;
scrollView.showsHorizontalScrollIndicator = false;
pagingView.scrollView = scrollView;
[self.view addSubview:pagingView];
[self.view addSubview:scrollView];

它可以工作,但我可以在屏幕上的任意位置滑动以在滚动视图中移动。我该如何补救?

【问题讨论】:

    标签: iphone ios objective-c xcode uiscrollview


    【解决方案1】:

    不清楚你在这里做什么。您正在向self.view 添加两个滚动视图,但实际上您只需要一个。

    使用最少代码的最简单方法是使用一个普通的UIScrollView,将按钮显示为大小正确的UIViews 的子视图(您需要按钮周围的间隙),并为滚动视图启用分页。完成。

    请注意,您描述的测量结果无效。滚动视图width 是208,按钮200,所以包装视图的宽度应该是208,按钮的origin.x 应该是4。滚动视图height 是280,按钮也是,所以有没有垂直边距:包装高度也是 280,按钮 origin.y 为 0。

    【讨论】:

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