Eva*_*son 55 views modal-dialog ios
有没有办法检查是否存在模态视图?我想仅在存在模态视图时才运行方法.此外,如果我有多个模态视图,有没有办法检查是否存在某个模态视图.
我使用以下代码来呈现和消除模态视图:
[self presentModalViewController:myModalView animated:YES];
[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)
先感谢您!
干杯,埃文
PS.我的模态视图有一个视图控制器,但是我想检查模态视图是否存在于异步运行的单独类中.
arl*_*dia 75
您是否从父视图控制器检查模态视图控制器的存在?如果是这样,你可以检查视图控制器的modalViewController属性:
BOOL modalPresent = (self.modalViewController);
Run Code Online (Sandbox Code Playgroud)
如果要检查特定的模态视图控制器,可以获得模态视图控制器的类名,如下所示:
NSString *modalClassName = NSStringFromClass([self.modalViewController class]);
Run Code Online (Sandbox Code Playgroud)
tip*_*low 59
您可以使用:self.presentedViewController,返回The view controller that is presented by this view controller, or one of its ancestors in the view controller hierarchy.
对我有用的是:
// this is the trick: set parent view controller as application's window root view controller
UIApplication.sharedApplication.delegate.window.rootViewController = viewController;
// assert no modal view is presented
XCTAssertNil(viewController.presentedViewController);
// simulate button tap which shows modal view controller
[viewController.deleteButton sendActionsForControlEvents:UIControlEventTouchUpInside];
// assert that modal view controller is presented
XCTAssertEqualObjects(viewController.presentedViewController.class, MyModalViewController.class);
Run Code Online (Sandbox Code Playgroud)
据我测试,这适用于iOS7和iOS8.但是没试过iOS6.
| 归档时间: |
|
| 查看次数: |
42565 次 |
| 最近记录: |