在 collectionViewCell 中使用 UIPageViewController
Use UIPageViewController inside a collectionViewCell
在 collectionViewCell
中,我想创建一个底部带有点的视图,并且我可以在视图之间滑动。我应该使用 UIPageController
来显示点并手动实现手势识别,还是可以在 collectionViewCell
中使用 UIPageViewController
?
是的,你可以把它放在你的牢房里。它不一定是全屏。事实上,它可以用作任何其他 UIViewController。如果你想把它嵌入到一个更小的矩形中,你可以使用 UIViewController containment。
假设您要将它嵌入到作为 UIViewController 子类的父控制器中。然后定义一个pageViewController属性并在viewDidLoad:
中添加为子view controller
self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageViewController.view.frame = ... //set the frame or add autolayout constraints
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
在swift:
let pageViewController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
pageViewController.view.frame = view.frame//set frame
self.addChildViewController(pageViewController)
view.addSubview(pageViewController.view)
pageViewController.didMove(toParentViewController: self)
在 collectionViewCell
中,我想创建一个底部带有点的视图,并且我可以在视图之间滑动。我应该使用 UIPageController
来显示点并手动实现手势识别,还是可以在 collectionViewCell
中使用 UIPageViewController
?
是的,你可以把它放在你的牢房里。它不一定是全屏。事实上,它可以用作任何其他 UIViewController。如果你想把它嵌入到一个更小的矩形中,你可以使用 UIViewController containment。
假设您要将它嵌入到作为 UIViewController 子类的父控制器中。然后定义一个pageViewController属性并在viewDidLoad:
中添加为子view controllerself.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
self.pageViewController.view.frame = ... //set the frame or add autolayout constraints
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
[self.pageViewController didMoveToParentViewController:self];
在swift:
let pageViewController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
pageViewController.view.frame = view.frame//set frame
self.addChildViewController(pageViewController)
view.addSubview(pageViewController.view)
pageViewController.didMove(toParentViewController: self)