我设置了UIPageViewController
来显示UITableViewController
内容的网页。功能正常,但桌子隐藏在顶部,底部有一个奇怪的黑色条。
所以我做的第一件事就是转到故事板并更改UIPageViewController
的设置,如下所示。
生成的视图呈现如下:
理想情况下,我希望寻呼机背景是半透明的,以便您可以看到它下面的表格。此外,虽然表的顶部现在可见,但我不喜欢背景如何变为奇怪的灰色/半透明效果。有关如何修复的任何建议吗?
答案 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]