我在网上搜索并找到了类似的答案(如何使底部带有UIPageViewController的点的半透明框?),但是它不能解决我的问题。
这是我的代码
// PageControl Layout
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor clearColor];
// pageControl.frame = CGRectMake(5,5,305,400);
pageControl = [UIPageControl appearanceWhenContainedIn:[self class], nil];
indexCurrentPage = 0;
pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
[pageController.view setFrame:[[UIScreen mainScreen] bounds]];
NSLog(@"page controller.fram is %@", [NSValue valueWithCGRect:[[pageController view] frame]]);
pageController.dataSource = self;
GuidedTourPage *initialViewController = [self viewControllerAtIndex:0];
[[self.pageController view] setFrame:[[initialViewController view] bounds]];
NSLog(@"bound is %@", [NSValue valueWithCGRect:[[initialViewController view] bounds]]);
NSArray *viewControllers = [NSArray arrayWithObject:initialViewController];
[pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
[self addChildViewController:self.pageController];
[self.view addSubview:[pageController view]];
[pageController didMoveToParentViewController:self];
滚动功能和其他所有功能都可以正常工作。除非有一部分图像丢失。我self.window.backgroundColor = [UIColor whiteColor];
在“ AppDelegate.m”中进行了操作,因此pageControl.backgroundColor = [UIColor clearColor];
可以使背景变为白色是可以理解的。
但是我想要这样的东西(http://www.appcoda.com/wp-content/uploads/2013/06/UIPageViewController-Tutorial-Screen.jpg),其中pageControl具有透明背景。
我知道问题出在层上。但是我不知道如何解决它。有没有一种方法可以记录图层层次结构的NSLog?或者是否有任何测试仪软件可以帮助我测试图层问题。只要我能找到一种方法来调试诸如Firefox中的3D-Inspect元素功能之类的层,我认为这不会是一个非常棘手的问题。
提前致谢
试试这个:
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.backgroundColor = [UIColor clearColor];
您也可以与Alpha一起玩:
[[UIColor alloc] initWithRed:0.0f green:0.0f blue:0.0f alpha:0.7];
因此,该语句将变为:
pageControl.backgroundColor = [[UIColor alloc] initWithRed:0.0f green:0.0f blue:0.0f alpha:0.7];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句