2017-01-04 5 views
0
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomePageTitleCell", for: indexPath) as! HomePageTitleCell 

    cell.news = homePageViewController.sliderList[indexPath.row] 

    let returnleft = IndexPath(row: 0, section: 0) 

    self.collectionView.scrollToItem(at: returnleft, at: UICollectionViewScrollPosition.left, animated: true) 

    return cell 
} 

Как можно использовать returnleft после загрузки UICollectionView?Как я могу начать работу, когда UICollectionView закончил загрузку?

let returnleft = IndexPath(row: 0, section: 0) 

self.collectionView.scrollToItem(at: returnleft, at: UICollectionViewScrollPosition.left, animated: true) 

не работает в cellForItemAt

+0

Похож на этот вопрос: http://stackoverflow.com/questions/15985574/uicollectionview-auto-scroll-to-cell-at-indexpath – mlidal

+0

Вы должны быть более точным о том, что вы имеете в виду «закончил загрузку». Нет особого момента, когда загружается весь просмотр коллекции. Он намеренно загружает только те части, которые, по его мнению, необходимы в любой момент времени (и какие части загружены в iOS 10). Когда он загружает другие фрагменты, это будет зависеть от прокрутки, если только все изображения не отображаются на экране одновременно. Вы должны быть точными о том, что вы подразумеваете под «нерабочим». Что вы ожидаете? Что на самом деле происходит? Если это действительно прокрутка к ячейке, это дублированный вопрос и ответ. –

ответ

0

cellForItemAt будет использоваться только для создания клеток в виде таблицы. Он будет вызываться один раз для каждой ячейки в вашей таблице (не обязательно сразу, а при прокрутке в виде таблицы).

Так что переместите свой код ниже в более подходящем месте, например viewDidLoad.

let returnleft = IndexPath(row: 0, section: 0) 
self.collectionView.scrollToItem(at: returnleft, at:UICollectionViewScrollPosition.left, animated: true) 
Смежные вопросы