ios - 使用 PushSegue iOS 编辑栏按钮
问题描述
我想在通过 pushSegue 到达的视图的导航栏中有 barButtonItems。
我试图通过向我的故事板添加一个导航栏项目来实现这一点,但是当我启动应用程序时,barButton 不会显示在构建中。请参阅此处的屏幕截图:
导航栏在构建时的外观
我是如何在 Storyboards 中构建它的
故事板的流程
我通过使用以下代码单击一个单元格来转到我的 MainTextView:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath as IndexPath, animated: true)
if let destination = storyboard?.instantiateViewController(withIdentifier:"MainTextView") as? MainTextView {
destination.post = (posts[indexPath.row])
destination.delegate = self
navigationController?.pushViewController(destination, animated: true)
}
}
}
后退按钮甚至不会出现在情节提要中。如何以编程方式更改默认后退按钮并向导航栏添加其他按钮?
解决方案
我认为这可能是与 Xcode 11/ios 13 相关的问题。单击 segue 并将其从推送更改为模态呈现。从那里将演示上下文更改为全屏。您可能可以将其保留为推送,但是当您单击视图控制器/导航控制器时,转到属性检查器并查找一个名为演示的选项,并将其设置为全屏。
另一个尝试的选项是单击视图控制器,转到属性检查器并在导航控制器下 - 栏可见性点击(显示导航栏)
我能想到的最后一件事是,当您的往返连接应该连接到导航控制器时。
实际上还有更多可能性...... 1)在启动应用程序时检查您的调试视图层次结构。我的意思是
基本上它是一个您单击的按钮,您将能够看到视图是如何相互堆叠的。我最好的猜测是,虽然你有一个栏项目按钮,但嵌套按钮实际上并不存在/显示。
2)将您的 tableviewcontroller 嵌套在另一个导航控制器中。
推荐阅读
- angular - 角度 ngif 语句添加更多条件
- batch-file - 批处理文件永久变量?
- dask - 使用 dask 转换大量文件的最佳方法是什么?
- flutter - 在 tutorial_coach_mark 上获取下一个目标
- sql-server - 如何在 VS 中从 SQL 解决方案运行脚本
- spring-mvc - Spring MVC:如何修复 415 响应错误
- php - 通过 Podio API 创建/更新项目时如何设置唯一 ID 和创建日期
- swift - Swift - 从 HDR 视频中获取静止图像
- android - 反应本机导航调度不重置堆栈
- kotlin - 如何检查泛型类型/子类型