相对于 UIView 在它的 subViewController 上的位置,将 UIPageControl 定位在 UIViewController 上。

Positioning a UIPageControl on a UIViewController with respect to the position of a UIView on it's subViewController.

所以我在布局和约束方面遇到了问题。

我在 http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ 使用 UIPageViewControllers 的应用程序结尾教程,但我做了一些小改动。

我已经添加了一个内容视图控制器作为我的主视图控制器的子视图。它匹配其父视图的高度和宽度。在这个子视图上,我布置了一个 UIImageView 和一个 UISegmentedControl(见屏幕截图)。我还向这个视图控制器添加了一些约束,它将 UIImageView 绑定到其容器的顶部、右侧和左侧,分段控件也以图像视图为中心,并向上方的 uiimageview 和下方的容器底部添加了约束。这样做的效果是视图控制器在不同的设备尺寸上保持其外观。 但是,我需要在 UIImageView 的底部放置一个 UIPageControl(页面指示器),但我不想将它放在子视图上,因为那样它会随着 UIPageViewController 的页面一起转动 - 所以我将它放置在 SuperView 上(参见截屏)。我用;

[self.view bringSubviewToFront:self.pageControl];

让我的页面控件始终位于视图层次结构的前面。最终结果应该类似于下面的屏幕截图,

但是页面指示器在超级视图上的相对位置会因设备而异。

我的问题是如何单独向此页面指示器添加约束 viewController 以便当页面指示器位于超级视图上时,它始终出现在位于子视图,无论它在什么设备上 运行。

如有任何帮助,我们将不胜感激。

所以我找到了一个简单的答案....

只需在SuperView 中添加一个新的UIImageView 并设置类似的约束,使其遵循与子视图中的UIImageView 相同的缩放规律。然后使用布局约束将页面指示器锚定到新 UIIMageView 的底部。

见截图。