在Swift中将导航栏标题用作下拉菜单

3

我对Swift / iOS编程还很陌生,但在练习过程中学到了很多。

具体来说,我的一个应用程序页面上有一个导航栏,其中有一个编辑按钮,以编辑占据大部分页面的表格视图,并有一个添加按钮,以向表格视图添加新项。目前,标题仅显示“玩家”,因为该表格是用户可以输入并保留在列表中的玩家列表。

我想让标题更像下拉菜单,可以让用户查看存储的多个数据集(例如不同玩家的多个列表)。

我不能提供太多代码,因为对于此特定任务,我不知道从哪里开始。我当前的所有代码大多只是页面上与此功能无关的Outlet、Actions和自定义功能。

1个回答

2
由于您的问题是“一般性的”,但缺乏具体的代码,我将给您一个通用答案,并提供指向正确方向的链接。
一种方法是创建一个显示UITableViewController的弹出窗口。这里有一个VEA Software的教程,讲解如何创建一个弹出窗口。
另外,为了从您的弹出窗口的 UITableViewController 中转发内容到 yourViewController 中,您还需要知道如何使用委托方法。这里有一个不错的关于委托的快速简要说明
所以,基本上,您需要在 yourViewController 上创建一个 IBAction 来处理下拉菜单。在该方法内部,您会使用以下命令告诉yourViewController 您想要进行Segue。
self.performSegue(withIdentifier: "popoverSegue", sender: sender)

yourViewControllerprepareForSegue方法中,您需要进行所需的配置并传递所需的任何变量到您的弹出窗口。您还需要将yourViewController设置为您正在显示的弹出窗口的代理。
在您的PopoverTableViewController上,您需要使用数据填充tableView。在didSelectRowAtIndexPath中,您需要利用代理方法在yourViewController上执行操作。
没有具体的代码,我只能告诉您一般要做什么,并指向资源来完成它。希望这有帮助。

1
想象一个全新的单视图应用程序,只有一个视图控制器脚本,在故事板中只有导航栏和表格视图。假设表格和导航栏已经正确地出口并委派在视图控制器内使用。就是这样。我只是使用一个字典来存储一个键(组名)和一个球员数组,并且表格视图仅显示基于所选键设置的数组集。谢谢您提供的链接,我会进一步调查。我感激你的努力!我点了赞,但它说计数了但不会显示。希望能帮到你! - kingfoot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接