Practice of CollectionView 02

這個練習延續上一篇collectionView的成果,為已經建立好的cell製作detailView,讓使用者點擊cell可以得到詳細的資訊。

新增navigation

如此一來進入cell後可以輕鬆返回collectionView

新增cell的controller

在file中新增一個檔案為ViewController的檔案,取名CellViewController,並且在storyboard中新增一個ViewController,將其class與新增的file連結,同時,為這個ViewController的storyboard ID也取名CellViewController。

collectionView不需使用segue來為cell傳遞資料

利用didSelectItem來傳遞資料

不同於tableView使用didSelect來執行performSegue,collectionView的這個方法直接將destination與要傳送的資料都包含其中,然後利用push來進入CellViewController,而在destination裡一樣要設定參數來接收資訊。

一開始可以加入print()來檢查是否能夠觸發方法

注意:如果didSelectItem無法呼叫

當我們按下collectionView中的cell時,若沒有進入下一頁或是沒有任何反應,很可能是我們的滑鼠點擊並沒有點在collectionView上,導致didSelectItem無法被觸發。

解決的方法是將collectionView底下的圖層:contentView與ImageView的UserInteractionEnable都取消勾選,以防止我們的鼠標點擊其實是點在這兩者身上。

將UserInteractionEnable取消勾選

--

--