我正在使用UIPageViewController来显示嵌入在子视图控制器中的图像。
NSDictionary *options = [NSDictionary dictionaryWithObject: [NSNumber numberWithInteger:UIPageViewControllerSpineLocationMin] forKey: UIPageViewControllerOptionSpineLocationKey];
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options: options];
self.pageViewController.dataSource = self;
self.pageViewController.view.frame = self.view.bounds;
ImageViewController *initialViewController = [self viewControllerAtIndex:0];
initialViewController.index = 0;
NSArray *viewControllers = [NSArray arrayWithObject:initialViewController];
[self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
一切都很好但我讨厌儿童视图控制器彼此相邻。
我想知道是否有办法在子视图控制器之间添加填充,这样它们就不会彼此相邻。
看起来更像这样的东西:
答案 0 :(得分:14)
检查UIPageViewController init方法
- (id)initWithTransitionStyle:(UIPageViewControllerTransitionStyle)style navigationOrientation:(UIPageViewControllerNavigationOrientation)navigationOrientation options:(NSDictionary *)opt
您可以将您的网页间空间值传递到opt
UIPageViewControllerOptionInterPageSpacingKey
答案 1 :(得分:9)
使用Swift,您可以使用initWithTransitionStyle:navigationOrientation:options:
初始值设定项并将值传递到UIPageViewControllerOptionInterPageSpacingKey
参数中的options
,以在页面之间设置空格。
作为示例,以下代码显示了如何使用Swift 2.2实现它:
let optionsDict = [UIPageViewControllerOptionInterPageSpacingKey : 20]
let pageViewController = UIPageViewController(transitionStyle: .Scroll,
navigationOrientation: .Horizontal,
options: optionsDict)
请注意关于UIPageViewControllerOptionInterPageSpacingKey
的{{3}}州:
该值应该是包含在NSNumber实例中的CGFloat。
但是,如前面的代码所示,类型为[String : Int]
的词典也有效。
答案 2 :(得分:8)
从故事板中选择 UIPageViewController 。在属性检查器内,有一个用于设置页面间距的选项。