ios - 主/详细视图:从添加视图到详细视图,反之亦然
问题描述
这可能是一个非常简单的问题,但我找不到关于如何正确(=优雅地)实现这一目标的明确答案。
我有一个简单的项目列表(表格视图)(在下面的屏幕截图中称为模型)。当我添加一个新项目时,我有一个模态序列来显示Add view
. 当点击 时Save
,当前返回到表格视图。在列表(表格视图)中,当点击一个项目时,它会显示detail view
.
许愿行为
save
在添加新项目时点击时,detail view
应该显示,而不是返回列表- 当点击
edit
时detail view
,它应该显示add (edit actually) view
供用户修改模型
这与本机 iOS 应用程序的行为相同Contacts
。
在此先感谢您的帮助,并对问题的简单性感到抱歉!
这是我尝试过的
在重复的 segue 上使用自定义 Segue 以显示详细信息
class FadeSegue: UIStoryboardSegue {
override func perform() {
guard let destinationView = self.destination.view else {
// Fallback to no fading
self.source.present(self.destination, animated: false, completion: nil)
return
}
destinationView.alpha = 0
self.source.view?.addSubview(destinationView)
UIView.animate(withDuration: CATransaction.animationDuration(), animations: {
destinationView.alpha = 1
}, completion: { _ in
destinationView.removeFromSuperview()
self.source.present(self.destination, animated: false, completion: nil)
})
}
}
对于Save
新模型(在 AddModelViewController 中),我在列表(表)ViewController 中调用它:
self.dismiss(animated: false, completion: {
self.performSegue(withIdentifier: "detailViewSegueAfterNewModel", sender: nil)
})
解决方案
推荐阅读
- javascript - 试图制作一个使用 tHiS fOnT 重复用户输入的不和谐机器人
- java - Java:使用自定义符号在基数之间进行转换
- angular - 在 Angular6 中添加内联类型时出错
- c# - MSBUILD : 错误 MSB1003: 指定项目或解决方案文件
- php - wordpress 中的自定义图像搜索页面
- python - 交换列表中的项目时的奇怪行为
- vba - Excel VBA 将数据转移到下一个可用行
- javascript - 节点请求模块 - 发送表单数据时遇到问题
- python - 如何在 Django 中编辑用户配置文件
- xcode - 加载 mlmodel 时出现机器学习错误“No known class for loading model type > MLModelType_pipelineClassifier”