在Objective C(Cocoa)中,我有一个使用模态表运行的应用程序,但是我想允许应用程序在表单显示时退出(与我认为的模态定义相矛盾,但我喜欢动画效果莫代尔表。)
我已经在使用-setPreventsApplicationTerminationWhenModal
方法并且它工作正常,但我想知道......有没有办法让关闭按钮保持启用状态?小圆圈通常是红色的关闭按钮,左上角的所有窗口都带有(并排最小化和最大化)?现在它在工作表运行时被完全禁用,如果有办法启用它会很棒。
谢谢!
答案 0 :(得分:0)
使用委托方法关闭模态视图。您在模态视图控制器上声明委托,该委托方法解除了ModalViewController
在Modal ViewController接口文件中:
@protocol MyViewControllerDelegate
-(void)dismissModal;
@end
然后将委托声明为Modal ViewController中的类属性:
@property (nonatomic, retain) id <MyViewControllerDelegate> delegate;
现在,将您的父ViewController声明为Modal ViewController的正确委托实现者:
@interface MyParentViewController:UIViewController
然后在调用(父)ViewController中实现实现文件中的委托方法:
-(void)dismissModal
{
// Dismiss the Modal ViewController that we instantiated earlier
[self dismissModalViewControllerAnimated:YES];
}
应该这样做。处理这个问题的建议方法是通过委托方法(当一个控制器中的进程需要在另一个控制器中触发方法时,委托方法非常方便使用。非常值得花时间熟悉使用委托来完成工作在Obj C