【问题标题】:UIScrollView with controls repeating on every page?UIScrollView 控件在每个页面上重复?
【发布时间】:2013-03-12 15:39:46
【问题描述】:

我有完美的 UIPageControl。我想通过滑动添加分页,据我了解,它是由 UIScrollView 完成的。 但是所有教程都是用图像完成的,我希望在每一页上重复控件(标签、按钮)。

因为 UIScrollControl 的工作方式必须设置它的宽度 * 页数,这是否意味着控件只能放在代码中,而不是 IB 中?

我应该直接在 UIScrollView 上放置标签和按钮吗?

谢谢

【问题讨论】:

  • 是的,我会以编程方式进行。但是,“在每一页上重复”是什么意思?您想在每个页面上都有相同/相同的控件吗? (如果是这样,为什么?:-) 你是否希望能够“无休止地”滚动或翻页?
  • 是的,我希望每个页面上有两个标签,但每次都使用不同的文本。是的,我想要“无休止”的分页。为什么,它在某种程度上很重要,如果无穷无尽,还是不重要?
  • 您想如何使用 UIPageControl 显示无限滚动?但是,我会创建一个启用分页的 3 个屏幕大小的 UIScrollView。当幻灯片向右或向左滚动时,我会重新调整它,使其中间部分再次可见并移动/重新排列(或在您的情况下重命名)该滚动视图上的所有项目,以便用户执行没有注意到变化。这样做可以实现无限滚动。

标签: objective-c cocoa-touch uiscrollview paging uipagecontrol


【解决方案1】:

如果您有一个使用 IB 设计的视图控制器及其所有按钮和标签,则可以将该视图控制器添加为 UIScrollView 的子视图,如下所示:

[scrollView addSubview:controller.view];

scrollView 是你的 UIScrollView 和控制器是你的 IB 设计的视图控制器。

【讨论】:

    【解决方案2】:

    您可以通过使用 IB 通过适当地对对象进行排序来实现使用 pagecontroll 的重复控件。这是我所拥有的:

    将 UIScrollview 拖到 ViewController 并将 Page Controller 和其他控件也拖到 ViewController 但不拖到 UIScrollView。将它们分开。 IB 对象列表底部的对象显示在视图堆栈的顶部。 (因此,当您滑动新页面时,控件不会移动并且不会被 UIScrollView 覆盖)我还通过组选择它们来对各种控件进行分组,然后使用“嵌入视图”菜单项,以便在 IB 中我有两个组,控件和 UIScrollView。使其更整洁,更易于管理。至于更改标签,我还没有尝试过,但我已经看过教程,您可以将 iboutlets 链接到更改 pagecontroller 的值,然后适当地更新 uiscrollview 中的标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-11
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多