【发布时间】:2014-07-28 13:01:23
【问题描述】:
我正在尝试快速构建collectionView,我希望当设备处于纵向时collectionView 垂直滚动,而当我在横向模式下旋转设备时collectionView 水平滚动。这是CollectionView 类:
class SceneBuilderVC: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource{
@IBOutlet var collection: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func shouldAutorotate() -> Bool{
return true
}
override func supportedInterfaceOrientations() -> Int{
return Int(UIInterfaceOrientationMask.All.toRaw())
}
func numberOfSectionsInCollectionView(collectionView: UICollectionView!) -> Int {
return 1;
}
func collectionView(collectionView: UICollectionView!, numberOfItemsInSection section: Int) -> Int {
return 50;
}
func collectionView(collectionView: UICollectionView!, cellForItemAtIndexPath indexPath: NSIndexPath!) -> UICollectionViewCell!{
var cell:UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as UICollectionViewCell
cell.backgroundColor = UIColor.redColor()
return cell
}
}
要更改滚动方向,我需要更改 collectionView 布局。
var flowLayout:UICollectionViewFlowLayout = UICollectionViewFlowLayout()
var scrollDirection = UICollectionViewScrollDirection.Vertical
flowLayout.scrollDirection = scrollDirection
self.collection.collectionViewLayout = flowLayout
另外,在 iOS8 中,Apple 将屏幕旋转方式 willRotateToInterfaceOrientation:duration 改为 viewWillTransitionToSize:withTransitionCoordinator
如何使用 **viewWillTransitionToSize:withTransitionCoordinator* 方法检查设备何时旋转并因此更改滚动方向?
【问题讨论】:
标签: ios swift uicollectionview