Я использую UICollectionView в своем проекте. Я начал делать все это программно (быстро). это мой код, который инициирует и добавить CollectionView к экрану:UICollectionView от портрета к пейзажу
var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: COLLECTION_VIEW_DISTANCE_TOP, left: COLLECTION_VIEW_DISTANCE_LEFT, bottom: COLLECTION_VIEW_DISTANCE_BOTTOM, right: COLLECTION_VIEW_DISTANCE_RIGHT)
layout.itemSize = CGSize(width: 90, height: 120)
collectionView = UICollectionView(frame: self.view.frame, collectionViewLayout: layout)
collectionView.dataSource = self
collectionView.delegate = self
collectionView.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
collectionView.backgroundColor = UIColor.whiteColor()
self.view.addSubview(collectionView)
}
Переменные со всеми-заглавными буквами постоянны, которые я создал раньше.
Все идет хорошо, за исключением случаев, когда я переключаюсь с портрета на пейзаж, количество элементов в каждой строке не меняется, хотя при переключении на пейзаж должно быть больше элементов в строке, чем раньше.
Я попытался отменить эту функцию:
override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) {
collectionView.frame = self.view.frame
}
Он работал, но при повороте iPhone она занимает около половины секунды, чтобы заполнить строки (это делает работу медленно, в уродливом виде) ,
Как это исправить?
Нет такого способа. Я попытался перекрывая этот метод: переопределения Func willRotateToInterfaceOrientation (toInterfaceOrientation: UIInterfaceOrientation, продолжительность: NSTimeInterval) { } , но он не работает для меня. –
Спасибо вам большое! –