问题描述
我的应用程序处理TableViewController中的联系人列表。从那里,您可以点击一行以打开联系人的详细信息。稍后,在该视图控制器的详细信息上,您可以点击“编辑”栏按钮以模态显示第三个视图控制器,以编辑联系人的数据。我正在使用CoreData和iCloud sync,一切正常。
现在,我将在Table View行上实现上下文UIAction,以例如针对indexPath上的联系人直接显示View Controller。我正在使用contextMenuConfigurationForRowAt
方法:
override func tableView(_ tableView: UITableView,contextMenuConfigurationForRowAt indexPath: IndexPath,point: CGPoint) -> UIContextMenuConfiguration? {
let object = fetchedResultsController?.object(at: indexPath)
return UIContextMenuConfiguration(identifier: nil,previewProvider: nil) { suggestedActions in
let editAction = UIAction(title: "Edit",image: UIImage(systemName: "square.and.pencil")) { action in
let storyboard = UIStoryboard(name: "Main",bundle: nil)
let VC = storyboard.instantiateViewController(withIdentifier: "EditViewController") as! EditViewController
VC.person = object
self.present(VC,animated: true,completion: nil)
}
EditViewController会以模态显示,但不会显示其导航按钮(保存,取消)或标题栏。我可以手动关闭控制器,是的,但是如果不保存和取消按钮,那就没用了。
我的意图是将EditViewController完全按照原始方式呈现,并带有每个选项(甚至没有必要,甚至可以像往常一样OVER detailViewController),以使用户获得相同的体验,但步骤更少。
我认为必须有一种解决此问题的方法,它与其根目录或导航控制器有关(因为EditViewController实际上嵌入在其对应的导航控制器中),但我找不到解决方法...
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)