2017-01-04 17 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 
} 

UICollectionViewをロードした後にreturnleftをどうすれば使用できますか? cellForItemAtUICollectionViewの読み込みが完了したら、どのように機能を開始できますか?

+0

この質問のようになります。http://stackoverflow.com/questions/15985574/uicollectionview-auto-scroll-to-cell-at-indexpath – mlidal

+0

あなたは何を意味についてより正確にする必要があります。 "ロードを終了しました。"すべてのコレクションビューがロードされていることは特にありません。これは意図的に必要な部分だけをロードします(iOS 10で変更された部分が読み込まれます)。すべてのビューが同時に画面上に表示されない限り、他の部分を読み込むときはスクロールに依存します。あなたは、「働いていない」ことが意味するものについて正確にする必要があります。あなたは何を期待していますか?実際に何が起こっていますか?これが実際にセルにスクロールする場合、これは重複した質問であり、答えがあります。 –

答えて

0

cellForItemAtで働いていない

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

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

は、あなたのテーブルビューのセルを作成するために使用されるべきです。これは、テーブル内の各セルに対して一度呼び出されます(必ずしも一度に表示されるのではなく、テーブルビューにスクロールされます)。

viewDidLoadなど、より適切な場所にコードを移動します。

let returnleft = IndexPath(row: 0, section: 0) 
self.collectionView.scrollToItem(at: returnleft, at:UICollectionViewScrollPosition.left, animated: true) 
関連する問題