UIPageViewController 和 UICollectionView 用于单元网格结构
UIPageViewController along with UICollectionView for cell grid structure
我有一个 UICollectionView
,它使用 UICollectionViewFlowLayout
在集合视图中排列我的单元格。
在我的单元格中,我有一个图像和一个标签。使用上面的布局,我可以设计带有垂直滚动的集合视图,
但是我想要一个像 UIPageViewController
这样的结构,而不是垂直滚动,它将包含我的 UICollectionView
和上面的单元格。
我试过flowLayout.scrollDirection = .horizontal
,
但是用这种方法我无法解决我的问题。
我是 Swift 的新手,我没有使用故事板。
打开故事板,select collectionView 并将滚动方向从垂直更改为水平,如下所示:)
现在您的 collectionView 将开始水平滚动而不是垂直滚动:)
如果你想要分页,比如 pageViewController 中的 ViewControllers,select collectionView 和 select 启用分页复选框:)
现在,如果您希望您的集合视图单元像 UIPageViewController 中的视图控制器一样覆盖整个 collectionView,请在您的 UICollectionView 委托中键入此内容:)
extension YourViewController : UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return self.pageViewController.frame.size
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 0.0
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 0.0
}
}
想要在上述方法中保留单元格之间的间距 return 值而不是 0.0 :) 仅此而已
编辑
如果您没有故事板,您可以使用
以编程方式设置滚动方向和其他属性
(self.collectionView.collectionViewLayout as! UICollectionViewFlowLayout).scrollDirection = .horizontal
我从下面找到了我的答案link:
http://swiftiostutorials.com/ios-tutorial-using-uipageviewcontroller-create-content-slider-objective-cswift/
对我帮助很大。谢谢
我有一个 UICollectionView
,它使用 UICollectionViewFlowLayout
在集合视图中排列我的单元格。
在我的单元格中,我有一个图像和一个标签。使用上面的布局,我可以设计带有垂直滚动的集合视图,
但是我想要一个像 UIPageViewController
这样的结构,而不是垂直滚动,它将包含我的 UICollectionView
和上面的单元格。
我试过flowLayout.scrollDirection = .horizontal
,
但是用这种方法我无法解决我的问题。
我是 Swift 的新手,我没有使用故事板。
打开故事板,select collectionView 并将滚动方向从垂直更改为水平,如下所示:)
现在您的 collectionView 将开始水平滚动而不是垂直滚动:)
如果你想要分页,比如 pageViewController 中的 ViewControllers,select collectionView 和 select 启用分页复选框:)
现在,如果您希望您的集合视图单元像 UIPageViewController 中的视图控制器一样覆盖整个 collectionView,请在您的 UICollectionView 委托中键入此内容:)
extension YourViewController : UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return self.pageViewController.frame.size
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 0.0
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 0.0
}
}
想要在上述方法中保留单元格之间的间距 return 值而不是 0.0 :) 仅此而已
编辑
如果您没有故事板,您可以使用
以编程方式设置滚动方向和其他属性(self.collectionView.collectionViewLayout as! UICollectionViewFlowLayout).scrollDirection = .horizontal
我从下面找到了我的答案link: http://swiftiostutorials.com/ios-tutorial-using-uipageviewcontroller-create-content-slider-objective-cswift/
对我帮助很大。谢谢