UIPageViewController - 如何在横向模式下自定义左右页面?

Posted

技术标签:

【中文标题】UIPageViewController - 如何在横向模式下自定义左右页面?【英文标题】:UIPageViewController - how to customize left and right page in landscape mode? 【发布时间】:2012-08-31 02:18:41 【问题描述】:

我在 Xcode 中有一个基于页面的应用程序,我正在尝试对其进行设置,以便在横向模式下左右页面具有不同的布局。

具体来说,如果页面在左侧,我想设置一个不同的页面bg图像,这样它看起来更像一本真正的书。

有没有办法以编程方式检测 UIPageViewController 在横向模式下是位于左侧还是右侧?您将如何解决这个问题?

【问题讨论】:

【参考方案1】:

如果你有背景图片的属性,你可以在 viewControllerAtIndex 上改变它

 - (YourPageContentViewController *)viewControllerAtIndex:(NSUInteger)index    
   // Return the data view controller for the given index.
   if (([self.modelArray count] == 0) || (index >= [self.modelArray count])) 
       return nil;
   
   YourPageContentViewController *dataViewController [[YourPageContentViewController alloc]initWithNibName:@"YourPageContentViewController" bundle:nil];
   if (index%2 ==0) 
      //set a background
      dataViewController.backgroundImage = imageForLeftSide;
    else 
      //set the other background
      dataViewController.backgroundImage = imageForRightSide;
   
   dataViewController.dataObject = [self.modelArray objectAtIndex:index];
   return dataViewController; 
 

【讨论】:

以上是关于UIPageViewController - 如何在横向模式下自定义左右页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 UIPageViewController 中的按钮名称

如何快速阻止 UIPageViewController 的滑动手势?

如何让 UIPageViewController 自动切换控制器

如何在 UIPageViewController 和孩子之间正确传递对象

UIPageViewController 如何访问不可见页面

UIPageViewController 内的 UITableViewController,如何防止对角拖动