2016-07-05 29 views
1

我對Swift非常陌生,我只是在學習UICollectionView。我將我的UITableView轉換爲UICollectionView。 UITableView中的導航欄在頂部顯示正確,但對於UICollectionView,我無法將它拖出單元格以在「集合視圖」下面。如何將導航欄移動到UICollectionViewCell之外?

我可以將它拖放到First Responder或Exit中,但它會在視圖之外。當我嘗試拖動表格視圖的導航欄時,它不再允許我將其拖回當前位置,只允許我在單元格內拖動。

我不知道我在這裏做了什麼不正確的。我使用「Show」來呈現視圖,這也是我以前用於我的UITableView的東西。如果我需要提供其他詳細信息,請告訴我。謝謝!

enter image description here

+0

實際上,似乎在表格視圖中設置了導航欄。 (在'TableView'和'TableViewCell'之間)。對於集合視圖,您可以先刪除單元格內的「NavigationBar」。然後,嘗試將「導航項」拖到控制器,而不是「導航欄」。 – tsnkff

+0

我刪除了'NavigationBar'並添加了'NavigationItem',但是我只能將它拖到可以拖動'NavigationBar'的地方。 – Vinz

回答

1

我想你可能要:

  • 刪除此導航欄
  • 選擇CollectionViewController
  • 去編輯=>嵌入在=>導航控制器

這應該嵌入您的收藏視圖控制器在一個導航控制器並正確設置導航欄。

希望這可以幫助

+0

將它嵌入到'NavigationController'工作,但它創建了一個問題,因爲我有一個'prepareForSegue'函數,它具有'CollectionView'作爲目的地。或者有什麼方法可以在執行segue時跳過NavigationController? – Vinz

+0

當然可以!如果目標VC應該被嵌入到導航控制器中,則繼續執行相同的操作。如果沒有(例如:模式彈出窗口),你可以設置一個推繼續 – H4Hugo

+0

這是完美的!非常感謝。我設法糾正所有的問題,我想知道是否有辦法將過渡動畫更改爲「向下滑動」,因爲當我以模態方式呈現它時,它會向上滑動,但沒有選擇使它滑下來返回到根控制器。最後,當我創建表視圖控制器時,爲什麼當我不需要導航控制器時,我需要這個集合視圖的導航控制器?儘管表格視圖控制器也如此轉動。 – Vinz