【问题标题】:Use Navigation Bar Title as a Dropdown in Swift在 Swift 中使用导航栏标题作为下拉菜单
【发布时间】:2016-12-10 01:32:35
【问题描述】:

我对 Swift/iOS 编程还很陌生,但我学到了很多东西。

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

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

我真的不能提供太多代码,因为我真的没有什么可以提供的,因为我不知道从哪里开始执行这个特定的任务。我当前的所有代码大多只是页面上与此功能无关的其他 UI 元素的 Outlets、Actions 和自定义函数。

【问题讨论】:

    标签: ios swift navigationbar


    【解决方案1】:

    由于您的问题本质上是“一般性”,但缺少特定代码,因此我将通过一些链接为您提供一般性答案,以帮助您指明正确的方向。

    一种方法是创建一个显示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 上执行操作。

    如果没有具体的代码,我只能大致告诉您该做什么,并为您提供资源来完成它。我希望这会有所帮助。

    【讨论】:

    • 想象一个全新的单视图应用程序,它只有一个视图控制器脚本,其中导航栏和表格视图都是故事板中的全部内容。假设表格和导航栏已正确输出并委托给视图控制器内部使用。这就是全部。我只是使用字典来存储带有玩家数组的键(组名),并且表格视图仅显示基于所选键的数组集。感谢您的链接,我将进一步调查。我很感激你的努力!我投了赞成票,但说它很重要,但不会显示。希望有帮助!
    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多