- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通用的主从应用程序,我可以在其中展示主信息以及 iPad 上两个方向并排的详细 View 。当一个用户在 iPhone 上的详细 View 中进行更改,我可以轻松检测到更改并显示警报,询问他们是否要保存更改或丢失它们(CoreData)。在 iPad 上,不禁止简单地点击在主列表中,从而丢失编辑。
我在 DetailViewController viewWillDisappear 中放置了一个函数(对于 iPad)会引发警报,但编译器告诉我确实如此与在非连接 View 上呈现 View 不同。
控制台消息:在分离 View 上呈现 View Controller 不鼓励 Controller <>.
有没有更合适的方法来处理这个问题? Swift 3、iOS 10、Xcode 8.2.1
var hasChanged //set to true whenever edits are made
override func viewWillDisappear(_ animated: Bool) {
if UIDevice.current.model == "iPad" {
if hasChanged {
print("hasChanged (should be true) is: \(hasChanged)")
cancelUnsavedEdits()
}//if hasChanged
}//if ipad
}//viewWillDisappear
func cancelUnsavedEdits() {
if hasChanged {
let ac = UIAlertController(title: nil, message: nil, preferredStyle: .alert)
ac.addAction(UIAlertAction(title: "Delete Edits", style: .default, handler: { (action : UIAlertAction!) -> Void in
self.codeDismissTheKeyboard()
self.performSegue(withIdentifier: "unwindToMasterViewController", sender: self)
let editRecordButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.edit, target: self, action: #selector(DetailViewController.editThisRecord))
self.navigationItem.rightBarButtonItem = editRecordButton
self.navigationItem.leftBarButtonItem = nil
self.navigationItem.hidesBackButton = false
//need to remove the edits - refresh the original page
self.configureView()
}))//addAction block
ac.addAction(UIAlertAction(title: "Save Edits", style: .default, handler: { (action : UIAlertAction!) -> Void in
self.codeDismissTheKeyboard()
self.saveTheEditedRecord()
self.performSegue(withIdentifier: "unwindToMasterViewController", sender: self)
}))//addAction block
//ac.addAction(UIAlertAction(title: "Cancel", style: .default, handler: nil))
//try this - for -ipad add code in handler to reopen the fields for editing if the cancel of the cancel is chosen
ac.addAction(UIAlertAction(title: "Cancel", style: .default, handler: { (whatever) in
self.makeEntryFieldsEnabledYES()
let cancelItemButton = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(DetailViewController.cancelUnsavedEdits))
self.navigationItem.leftBarButtonItem = cancelItemButton
}))
//try above
self.present(ac, animated: true, completion: nil)
} else {
self.codeDismissTheKeyboard()
//for ipad
self.navigationItem.rightBarButtonItem = nil
self.performSegue(withIdentifier: "unwindToMasterViewController", sender: self)
}//if hasChanged
//for ipad
navigationItem.leftBarButtonItem = nil
}//cancelUnsavedEdits
最佳答案
我认为问题是您尝试在 View Controller 上呈现
一个新的 View Controller ,该 View Controller 将从 View 层次结构中删除。
也许一个肮脏的修复可以是替换:
self.present(ac, animated: true, completion: nil)
至:
self.view.window.rootViewController?.present(ac, animated: true, completion: nil);
关于ios - 当用户编辑待处理的 Swift 3 时,防止 View 在 splitview 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41770980/
我正在使用 qt quick controls 2 SplitView,似乎 SplitView 项内的任何 MouseArea 都将鼠标事件从SplitView 句柄。这意味着当 handle 位于
我正在尝试使用 SplitView 控件创建导航栏。我将它的 DisplayMode 属性设置为 CompactInline,并为 CompactPaneLength 和 OpenPaneLength
我正在尝试开发一个屏幕流类似于 oracle 应用程序的应用程序。我在这里附上了图片。谁能告诉我这是如何实现的? 提前致谢。 最佳答案 您正在寻找的是自定义 Split View Controller
我正在尝试在 SplitView 模板中做一个模态视图。 我可以做一个,但是如果你转动设备或者只是按下模态视图,它就会消失在所有东西的后面。 如何制作全屏模态视图?我已经尝试了每一种模态样式,但模态视
我在我的 splitview Ipad 应用程序中使用了一个奇怪的设置,我需要一些帮助。 我在 Split View中并排显示了一个 TVC 和一个普通 View 。当我在我的 TVC 中选择某些内容
我正在使用SplitView和用于导航的框架在Windows 10的C#语言中编写通用应用程序。 我有一个带有动态加载列表的边栏,当我单击其中一个项目时,我使用菜单中的模型导航到页面,以指示应在框架中
我正在使用 SplitView 编写 QML 应用程序。我希望初始空间在项目之间均匀分布,但一个项目占据了所有空间。 import QtQuick 2.7 import QtQuick.Layouts
我想以编程方式创建一个内部有 UISplitViewController 的 UIPopoverController。问题是主视图覆盖了详细 View 。似乎主视图弹出在详细 View 上。这意味着我
我在 SplitViewController 中实现主视图和详细 View 之间的一个简单委托(delegate)(横向方向,因此两个 View 都可见)。当我按下一个按钮时,详细信息中的 Table
这是我第一次使用 Cocoa,我添加了一个 NSSplitViewController 作为我的 NSWindowController 的内容 View 。我向 NSSplitViewControll
我正在尝试向 UWP 的 SplitView 控件(又名“汉堡菜单”)添加滑动手势,类似于向左/向右滑动 Pivot 控件。如何设置一个手势来改变它的显示模式? 在 iOS 8 及更高版本中,我可以使
有没有办法在满足特定条件时阻止 UWP Splitview 关闭?我实现了以下 PropertyChange 回调: MySplitView.RegisterPropertyChangedCallba
我正在使用 QML,我想动态地将元素添加到 SplitView,例如。 onMouseClick,但到目前为止我还没有找到答案。 到目前为止我发现的是 SplitView是否将其默认属性设置为其第一个
大家好,我在我的 iPad 应用程序中使用 splitviewcontroller,其中选择 TableView 中的每一行将显示新的详细 View Controller ,在我的一个详细 View
我希望在 Mac OS X 下有一个应用程序,使我能够在同一个全屏窗口中拥有 Sublime Text 2 和终端(用于显示测试结果、运行 grunt 任务等)。我找不到具有这种行为的应用程序,我想用
我按照教程将 SplitView 控件添加到我的页面。代码如下:
根据https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.splitview.paneclose
我有一个 iPad 应用程序的 SplitView,其中包含主视图(左)和详细 View (右)。我希望,当我单击主视图中的按钮时,此调用父分割 View 上的委托(delegate)方法并将新 Vi
我正在尝试以编程方式在 Android 中创建一个 splitView。这个功能对我来说是全新的。经过一番研究,我意识到必须使用 fragment 。 我想知道,Linear
当我将 UISplitviewController 指定为应用程序的 Rootview 时,当时工作正常,但现在我想将登录屏幕添加到我的应用程序。有人可以帮助我吗?提前谢谢。 最佳答案 您可以将您的
我是一名优秀的程序员,十分优秀!