pageviewcontroller 中的 PageCurlEffect 与工具栏重叠

Posted

技术标签:

【中文标题】pageviewcontroller 中的 PageCurlEffect 与工具栏重叠【英文标题】:PageCurlEffect in pageviewcontroller overlaps toolbar 【发布时间】:2013-07-01 19:31:04 【问题描述】:

在 pageviewcontroller 中使用 Pagecurleffect 每当我翻页时它都会与工具栏重叠。

这是我的代码

- (void)viewDidLoad 

[super viewDidLoad];

modelArray = [[NSMutableArray alloc] init];

for (int index = 1; index <= totalPages; index++) 

    [modelArray addObject:[NSString stringWithFormat:@"%i", index]];



thePageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation: UIPageViewControllerNavigationOrientationHorizontal options:nil];

thePageViewController.delegate = self;
thePageViewController.dataSource = self;

thePageViewController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

contentViewController = [[ContentViewController alloc] initWithPDF:PDFDocument];
contentViewController.page = [modelArray objectAtIndex:0];
NSArray *viewControllers = [NSArray arrayWithObject:contentViewController];
[thePageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];

[self addChildViewController:thePageViewController];
[self.view addSubview:thePageViewController.view];
thePageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);


[thePageViewController didMoveToParentViewController:self];


在内容视图控制器中在 viewdidload 中使用此代码

   - (void)viewDidLoad
   
[super viewDidLoad];


// Create our PDFScrollView and add it to the view controller.
CGPDFPageRef PDFPage = CGPDFDocumentGetPage(thePDF, [_page intValue]);



pdfScrollView = [[PDFScrollView alloc] initWithFrame:CGRectMake(0, 46, self.view.bounds.size.width, 915)];
[pdfScrollView setPDFPage:PDFPage];
[self.view addSubview:pdfScrollView];



    self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    pdfScrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

_toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 965, self.view.bounds.size.width, 40)];

_toolbar.barStyle = UIBarStyleBlackOpaque;

[self.view addSubview:_toolbar];

   

当它在翻页时与工具栏重叠时看起来不太好。我该如何解决这个问题。

我想要第二张图片

在导航栏下翻页不重叠导航栏。 谢谢

【问题讨论】:

您能否附上屏幕截图以帮助我们了解发生了什么? 添加了模拟器截图 【参考方案1】:

您在每个页面中添加一个工具栏,它在页面内部。

您必须在第一个代码块上创建工具栏,并在末尾添加[self.view bringSubviewToTop:_toolbar];

【讨论】:

我在 pageviewcontroller 中添加了工具栏,现在它工作正常,之前它在内容视图控制器中。我没有添加这段代码 [self.view bringSubviewToTop:_toolbar];使用相同的 [self.view addSubview:_toolbar];现在工作正常。非常感谢您的帮助。

以上是关于pageviewcontroller 中的 PageCurlEffect 与工具栏重叠的主要内容,如果未能解决你的问题,请参考以下文章

如何移动到 pageViewController 中的特定页面?

PageViewController 中的 UITableViewCell 表现不同

(Swift) 如何使用触摸按钮更改 pageviewcontroller 中的视图

pageviewcontroller 中的 PageCurlEffect 与工具栏重叠

从加载它的 ViewController 调用详细 PageViewController 中的函数

从加载它的 ViewController 调用详细 PageViewController 中的函数