加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 从代码中的任何位置弹出模态视图

发布时间:2020-12-14 19:47:25 所属栏目:百科 来源:网络整理
导读:是否可以从iOS应用程序的任何位置“弹出”视图. 例如,我想要一个事件触发视图滑动(模态),并且事件可以在应用程序的任何屏幕上随时发生. 此外,我们希望这可以包含在其他项目中,并且希望他们不必对这些项目执行任何特殊操作(除了引用项目中的连线). 解决方法
是否可以从iOS应用程序的任何位置“弹出”视图.

例如,我想要一个事件触发视图滑动(模态),并且事件可以在应用程序的任何屏幕上随时发生.

此外,我们希望这可以包含在其他项目中,并且希望他们不必对这些项目执行任何特殊操作(除了引用项目中的连线).

解决方法

在这种情况下,您最好使用appdelegate,但这取决于您使用的应用程序类型.

在appdelegate中创建一个方法,您可以从任何视图控制器调用该方法

- (void)myMethod {
    MyController *myController = [[MyController alloc] init];
    [self.window.rootViewController presentModalViewController:myController animated:YES];
}

并且要解除此控制器,您必须在viewcontroller本身上创建操作.

注意:您一次只能拥有1个modelviewcontroller,因此请确保您的modelviewcontroller是一个navigationcontroller本身,以便将所有视图堆叠在其中.

像这样的东西,

- (void)myMethod {
     MyController *myController = [[MyController alloc] init];
     if([self.window.rootViewController modalViewController]) {
          [(UINavigationController *)self.window.rootViewController.modalViewController pushViewController:myController animated:YES];
     } else {
          UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:myController];
           [self.window.rootViewController presentModalViewController:navController animated:YES];
     }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读