UIPageViewController显示黑条

时间:2015-01-21 22:16:12

标签: ios swift

我设置了UIPageViewController来显示UITableViewController内容的网页。功能正常,但桌子隐藏在顶部,底部有一个奇怪的黑色条。

black bar

所以我做的第一件事就是转到故事板并更改UIPageViewController的设置,如下所示。

settings

生成的视图呈现如下:

black bar2

理想情况下,我希望寻呼机背景是半透明的,以便您可以看到它下面的表格。此外,虽然表的顶部现在可见,但我不喜欢背景如何变为奇怪的灰色/半透明效果。有关如何修复的任何建议吗?

2 个答案:

答案 0 :(得分:11)

UIPageControl的颜色已经很清楚了。所以,你所看到的是UIPageViewController偷看的黑色背景。问题是UIPageViewController限制了视图控制器的大小不会延伸到UIPageControl之下。

将以下代码添加到UIPageViewController类,以允许viewController扩展到UIPageControl下面:

override func viewDidLayoutSubviews() {
    //corrects scrollview frame to allow for full-screen view controller pages
    for subView in self.view.subviews {
        if subView is UIScrollView {
            subView.frame = self.view.bounds
        }
    }
    super.viewDidLayoutSubviews()
}

答案 1 :(得分:1)

使用UIAppearance代理自定义UIPageControl的颜色,包括背景颜色。

UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor blueColor];

要摆脱导航栏的半透明,请使用:

[self.navigationController.navigationBar setTranslucent:NO]