在 Swift 中使用导航栏标题作为下拉菜单
Use Navigation Bar Title as a Dropdown in Swift
我是 Swift/iOS 编程的新手,但我在学习的过程中学到了很多东西。
具体来说,我的一个应用程序页面上有一个导航栏,它有一个编辑按钮,用于编辑占据大部分页面的 table 视图,还有一个添加按钮,用于向table 视图。目前标题只显示 "Players",因为 table 是用户可以输入并保留在列表中的玩家列表。
我希望标题更像是一个下拉菜单,可以让用户查看正在存储的多组数据(例如不同玩家的多个列表。)
我真的不能提供太多代码,因为我真的没有什么可以提供的,因为我不知道从哪里开始这个特定的任务。我当前的所有代码主要只是页面上与此功能无关的其他 UI 元素的 Outlets、Actions 和自定义函数。
由于您的问题本质上是 "general",但缺少具体代码,我会给您一个笼统的答案,并提供一些链接以帮助您指明正确的方向。
一种方法是创建一个显示 UITableViewController
的弹出窗口。这是一个 tutorial from VEA Software 解释如何创建弹出窗口。
要将内容从弹出窗口 UITableViewController
中继到 yourViewController
,您还需要知道如何做的另一件事是 delegate methods
。这是一个不错的 "quick and dirty" explanation of delegates.
基本上,您要做的是在 yourViewController
上为您的下拉菜单创建一个 IBAction
。在该方法内部,您将告诉 yourViewController
您想要使用以下命令进行 segue:
self.performSegue(withIdentifier: "popoverSegue", sender: sender)
在 yourViewController
上的 prepareForSegue
方法中,您将进行所需的配置,并将需要传递的任何变量传递给弹出窗口。您还需要将 yourViewController
设置为您正在显示的弹出窗口的代表。
在您的 PopoverTableViewController
上,您需要用 tableView
的数据填充它。在您的 didSelectRowAtIndexPath
中,您需要使用委托方法在 yourViewController
.
上执行操作
没有具体的代码,我只能大致告诉你该做什么,并为你指出完成它的资源。希望对您有所帮助。
我是 Swift/iOS 编程的新手,但我在学习的过程中学到了很多东西。
具体来说,我的一个应用程序页面上有一个导航栏,它有一个编辑按钮,用于编辑占据大部分页面的 table 视图,还有一个添加按钮,用于向table 视图。目前标题只显示 "Players",因为 table 是用户可以输入并保留在列表中的玩家列表。
我希望标题更像是一个下拉菜单,可以让用户查看正在存储的多组数据(例如不同玩家的多个列表。)
我真的不能提供太多代码,因为我真的没有什么可以提供的,因为我不知道从哪里开始这个特定的任务。我当前的所有代码主要只是页面上与此功能无关的其他 UI 元素的 Outlets、Actions 和自定义函数。
由于您的问题本质上是 "general",但缺少具体代码,我会给您一个笼统的答案,并提供一些链接以帮助您指明正确的方向。
一种方法是创建一个显示 UITableViewController
的弹出窗口。这是一个 tutorial from VEA Software 解释如何创建弹出窗口。
要将内容从弹出窗口 UITableViewController
中继到 yourViewController
,您还需要知道如何做的另一件事是 delegate methods
。这是一个不错的 "quick and dirty" explanation of delegates.
基本上,您要做的是在 yourViewController
上为您的下拉菜单创建一个 IBAction
。在该方法内部,您将告诉 yourViewController
您想要使用以下命令进行 segue:
self.performSegue(withIdentifier: "popoverSegue", sender: sender)
在 yourViewController
上的 prepareForSegue
方法中,您将进行所需的配置,并将需要传递的任何变量传递给弹出窗口。您还需要将 yourViewController
设置为您正在显示的弹出窗口的代表。
在您的 PopoverTableViewController
上,您需要用 tableView
的数据填充它。在您的 didSelectRowAtIndexPath
中,您需要使用委托方法在 yourViewController
.
没有具体的代码,我只能大致告诉你该做什么,并为你指出完成它的资源。希望对您有所帮助。