我在一个选项卡式视图上有一个表单;我将表单标记为脏的任何字段都已更改,如果表单是脏的,我想弹出一个带有“保存”/“取消”的ActionSheet (代替“保存”按钮)。有没有办法阻止视图消失(或从视图堆栈中移除),直到用户响应正在处理的ActionSheet?
发布于 2012-05-27 22:49:20
我有几个想法:
viewWillDisappear上提示保存或放弃的概念并不是很有效。在这个过程中,逻辑上已经太晚了。viewWillDisappear可能会因为太多的原因而被调用,其中很多都不在您的控制之下,如果不能及时返回到该方法、引入新的用户界面元素等等,这是不明智的。
发布于 2012-05-27 13:23:15
一旦应用程序进展到调用viewWillDisappear:的程度,就无法阻止视图消失。要做的事情是创建一个函数,如下所示:
- (void)saveAndClose {
//Display sheet asking user what they want to do
}
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated
{
if (buttonIndex == 0) // 0 or whatever the index of your save button is
{
// Perform save functions
}
[self dismissModalViewControllerAnimated:YES]; // or pop the view controller if appropriate
}https://stackoverflow.com/questions/10771833
复制相似问题