ios - 主控/详细信息 - 如果对象被删除或主控中没有留下任何对象,则清除详细信息 (iOS)

标签 ios swift uitableview datasource uisplitviewcontroller

在我的 iPad 应用程序(或横向的 iPhone 6 Plus)中,我使用主/细节 UISplitViewController。当用户从主视图中删除当前所选项目或从主视图中删除所有项目时,先前所选项目的详细信息仍保留在详细信息 View 中。

如果他们删除当前选定的项目或数据源中的最后一个项目(这可能不是必需的),我需要做什么才能确保详细信息 View 清除回其空的默认状态?

有没有办法通过 UITableView/DataSource 魔法自动发生这种情况?

(如果可能的话,请使用 Swift,但 Objective-C 也可以。)

最佳答案

在主视图中存储项目属性。

var currentPresentingItem : <yourItemClass>?

currentPresentingItem 仅当详细信息 View 呈现时才不为零。因此,在普通 iPhone 中,当 currentPresentingItem 不为 nil

时,人们永远没有机会删除 masterView 中的项目。
func segueToDefaultDetailViewIfPresentingItemDeleted(deletingItem : <yourItemClass>){
     if currentPresentingItem == deletingItem{
          // segue to your default detail view, 
          // this will never happen in normal iphone
     }
}

关于ios - 主控/详细信息 - 如果对象被删除或主控中没有留下任何对象,则清除详细信息 (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32085943/

相关文章:

iphone - Youtube API 认证 - Iphone

objective-c - 如何修复 No visible @interface for NSString declares the selector JSONValue 错误

ios - UITableView UIImageView 图像闪烁 - iOS/Objective C

ios - 关闭我使用 root 呈现的 ViewC Controller

ios - Swift Apple Pay 出现 Stripe 错误 50

objective-c - 获取文件的 QuickLook 预览图像

ios - 为什么我的 UITableView 不使用单元格原型(prototype)?

ios - 将 Xamarin 应用程序部署到 iOS 设备

ios - SIGVART 与单元 View 与标签

iphone - 如何设置 uilabel 的高度等于 uitableviewcell