2016-12-10 72 views
2

我對Swift/iOS編程非常新穎,但是隨着我的進行,我正在採摘很多東西。在Swift中使用導航欄標題作爲下拉菜單

具體來說,我在我的一個應用程序頁面上有一個導航欄,它有一個編輯按鈕來編輯佔用大部分頁面的表格視圖,以及一個添加按鈕以將新項目添加到表格視圖。目前標題只是說「玩家」,因爲該表格是用戶可以輸入以保存在列表中的玩家列表。

我想標題更下拉菜單,可以讓用戶查看多組數據被存儲(如不同玩家多個列表。)

我真的不能提供太多的代碼,因爲沒有什麼可以提供,因爲我不知道從哪裏開始執行此特定任務。我當前的所有代碼主要只是Outlets,Actions和用於我頁面上與此功能無關的其他UI元素的自定義函數。

回答

1

由於您的問題本質上是「一般」,但缺乏具體的代碼,因此我會給您一些通用答案,讓您指出正確的方向。

一種方法是創建顯示UITableViewController的彈出窗口。這裏有一個tutorial from VEA Software解釋如何創建一個popover。

另一件你需要知道如何做,以便從你的popover UITableViewControlleryourViewController轉播東西是delegate methods。這是一個不錯的"quick and dirty" explanation of delegates

所以基本上,你要做的就是在yourViewController上爲你的下拉菜單創建一個IBAction。裏面那個方法,你會告訴yourViewController你想用下面的命令來Segue公司:

self.performSegue(withIdentifier: "popoverSegue", sender: sender) 

在上yourViewControllerprepareForSegue方法,你會做你需要做的,並通過你需要的任何變量的配置傳遞給你的popover。您還需要將yourViewController設置爲您顯示的彈出窗口的代表。

在您的PopoverTableViewController上,您需要填寫tableView的數據。在您的didSelectRowAtIndexPath中,您需要使用委託方法在yourViewController上執行操作。

沒有特定的代碼,我只能告訴你一般要做什麼,並指出你需要的資源來完成它。我希望這是有幫助的。

+1

想象一個全新的單視圖應用程序,只有一個視圖控制器腳本,其中導航欄和表視圖都是故事板中的所有內容。假設表格和導航欄正確插入並委託在視圖控制器內使用。這就是全部。我只是用一個字典來存儲一個包含玩家數組的密鑰(組名),而表視圖只是顯示基於所選密鑰的數組集合。感謝您的鏈接,我會進一步調查。我很欣賞這種努力!我打了upvote,但說它很重要,但不會顯示。希望有所幫助! – kingfoot