[英]ios - simulator started opening in horizontal view. How to get it to go back to default portrait view?
[英]How to go to next view controller if i am at last page of uicollection view. its horizontal transition and paging is enable
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView.isPagingEnabled = true
}
@IBAction func onBackButtonTap(_ sender: Any) {
// if collection view is on first page i have to pop
// self.navigationController?.popViewController(animated: true)
let collectionBounds = self.collectionView.bounds
let contentOffset = CGFloat(floor(self.collectionView.contentOffset.x - collectionBounds.size.width))
self.moveCollectionToFrame(contentOffset: contentOffset)
}
@IBAction func onNextButtonTap(_ sender: Any) {
// if collection view is on last page i have to push to another view controller
let collectionBounds = self.collectionView.bounds
let contentOffset = CGFloat(floor(self.collectionView.contentOffset.x + collectionBounds.size.width))
self.moveCollectionToFrame(contentOffset: contentOffset)
}
func moveCollectionToFrame(contentOffset : CGFloat) {
let frame: CGRect = CGRect(x : contentOffset ,y : self.collectionView.contentOffset.y ,width : self.collectionView.frame.width,height : self.collectionView.frame.height)
self.collectionView.scrollRectToVisible(frame, animated: true)
}
如果我在UICollectionView的最后一页,如何转到下一个视图控制器? 启用了其水平过渡和分页。
您可以检查当前的可见索引,并检查它是最后一个还是第一个单元格。 基于此,您可以执行推或弹出视图控制器的操作
var currentIndexPath:IndexPath = collectionView.indexPathsForVisibleItems.last!
if currentIndexPath.row == yourArray.count - 1 {
print("last row, we'll push")
}
if currentIndexPath.row == 0 {
print("first row, we'll pop")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.