显示和关闭模态视图控制器

2023-12-07

谁能给我一个示例代码,我可以用它来首先呈现模式视图控制器,然后关闭它?这就是我一直在尝试的:

NSLog(@"%@", blue.modalViewController);
[blue presentModalViewController:red animated:YES];
NSLog(@"%@", blue.modalViewController);
[blue dismissModalViewControllerAnimated:YES];
NSLog(@"%@", blue.modalViewController);

此代码位于 viewDidLoad 中(“blue”和“red”都是 UIViewController 的子类)。我希望我会显示红色视图,然后立即隐藏它,并带有一些动画。然而,这段代码仅呈现模态视图,并没有关闭它。任何想法?第一个日志显示“null”,而其他两个日志显示<RedViewController: 0x3d21bf0>

另一点是,如果我将这段代码放在 applicationDidFinishLaunching 中:红色视图根本不会出现,并且所有日志都变为“null”


首先,当您将该代码放入 applicationDidFinishLaunching 中时,从 Interface Builder 实例化的控制器可能尚未链接到您的应用程序(因此“红色”和“蓝色”仍然是nil).

但要回答你最初的问题,你做错的是你打电话dismissModalViewControllerAnimated:在错误的控制器上!应该是这样的:

[blue presentModalViewController:red animated:YES];
[red dismissModalViewControllerAnimated:YES];

通常,“红色”控制器应该决定在某个时刻关闭自己(也许是在单击“取消”按钮时)。然后“红色”控制器可以调用该方法self:

[self dismissModalViewControllerAnimated:YES];

如果它仍然不起作用,可能与控制器以动画方式呈现有关,因此您可能不被允许在呈现控制器后这么快关闭控制器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示和关闭模态视图控制器 的相关文章

  • 如何在 flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

    In a 颤振插件 我想用一个Objective C我的框架iOS部分用swift编写 然后将其用于使用 Swift 的 Flutter 项目作为 iOS 语言 经过一些研究 我不是 iOS 开发人员 后 我发现我想要做的事情可以通过导入文
  • 监控Mac网络流量

    我想知道如何监控 Mac 上的网络流量 就像活动监视器的方式一样 显示进出的字节 数据包 我知道这有点模糊 但我不确定最好的起点 编辑 我想用代码来完成此操作 而不是使用现有的软件 我刚刚找到了开源项目 菜单表 http www ragin
  • UIButton 不响应 UITableViewCell 中的单击事件

    ios 中有一个黑暗巫术阻止我的按钮被点击 如果我不向 uitableviewcell 添加按钮 并且单击该按钮 则会触发该事件 但如果按钮在 uitableviewcell 中 它不会被触发 看起来表 我已经准备好了示例代码 如果你们可以
  • 如何使用 NSUndoManager 支持替换 UITextView 中的文本?

    我希望能够以编程方式替换 UITextView 中的某些文本 因此我将此方法编写为 UITextView 类别 void replaceCharactersInRange NSRange range withString NSString
  • 撤消“从选择中创建新组”项目 xcode 4

    我不小心将我的项目添加到了一个组中 现在我无法在 xcode 4 中将其删除 有什么想法吗 如果我将其拖出 它会要求我创建一个工作区 编辑 我在错误报告中向苹果报告了这一点 我会及时向大家通报最新情况 这是一个没有工作空间的项目 关闭 Xc
  • iOS 应用程序在被杀死之前平均在后台运行多长时间?

    我需要通过 API 检查后端的应用程序设置更新 因此我不确定在启动时执行此类检查是否足够 或者我需要在应用程序进入前台后立即执行此类检查 当然 这取决于打开的应用程序数量 设备功能 但是关于应用程序可以在后台存活多长时间直到被杀死 有什么一
  • 将 uiview 转换为 .png 图像

    我正在 iphone 上工作 我采用 UIView 的子类 并在绘制矩形方法中进行一些设计 我想将此视图转换为 png 格式 提前致谢 UIGraphicsBeginImageContext myView frame size myView
  • 设置单元格数据后如何更新 UICollectionView 中单元格的大小?

    所以我有一个 UICollectionView 每个单元格中都有不同大小的不同图像 当调用 cellForItemAtIndexPath 时 我使用一种方法更新 UICollectionViewCell 该方法在 Web 上异步获取图像并显
  • 与在后台运行应用程序的一台设备进行多点连接

    我想使用多点连接框架连接 2 台设备 其中一台设备在后台运行应用程序 就像 Firechat 一样 我无法确认这是否有效 我已将其安装在 iPhone 5S 和 4 上 但是他们只是找不到彼此 但我在某处读过这有效 实现这一目标的最佳方法是
  • ALAssetPropertyDate 返回“错误”日期

    我目前正在开发一个项目 需要读取一些 纬度 经度和日期 EXIF 数据 位置数据似乎是正确的 但我得到的日期似乎是 上次修改日期 日期 CLLocation loc asset valueForProperty ALAssetPropert
  • TabBarController:以不同方向定向视图

    我无法保持当前的观点方向 在下面的设置中 我能够将第一个视图控制器锁定为纵向 将第二个视图控制器锁定为横向或纵向 但是 当我向选项卡控制器添加第二个导航控制器 rootviewcontroller 时 整个项目中的所有视图都将变为横向和纵向
  • 加快 SpriteSheet 的 UIImage 创建速度

    我不确定我的标题是否正确 但我不确定我的问题到底在哪里 我需要从 spritesheet 加载 UIImage 数组 然后将其用作 UIImageView 中的动画 spritesheet是用TexturePacker生成的 它生成巨大的图
  • 如何从静态图像中读取二维码

    我知道你可以使用AVFoundation使用设备的摄像头扫描 QR 码 现在问题来了 我该如何从静态中做到这一点UIImage object Neimsz 的 Swift 4 版本answer https stackoverflow com
  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • 如何在 xcode 中从 nib 文件创建视图?

    我有以下代码来创建视图并将其放入滚动视图中以允许分页代码工作正常 但是我不能做的是从 nib 文件加载视图 换句话说 我想使用 initWithNibName 而不是 initWithFrame void createPageWithCol
  • SwiftUI 查看所有视图,包括工作表视图

    我需要根据某些条件在所有视图之上显示一个视图 无论顶视图是什么 我正在尝试以下代码 struct TestView
  • 应用程序图标上的快捷方式项目不适用于 iOS 13

    为了支持应用程序图标上的快捷方式项目 我们在中实现了以下方法SceneDelegate func windowScene windowScene UIWindowScene performActionFor shortcutItem UIA
  • 如何模拟应用程序在后台被杀死?

    我试图验证我的应用程序 App1 在启动另一个应用程序 App2 后被系统关闭时行为是否正确 有什么方法可以模拟或强制这种行为吗 在 App2 运行时告诉模拟器模拟内存警告不会执行任何操作 直到 App1 返回前台为止 从调试器中杀死 Ap
  • NSPredicate predicateWithFormat 传入属性名称

    关于 NSPredicate 的简单问题 我正在尝试使用 传入 值构建我的谓词 如下所示 NSPredicate currentPredicate NSPredicate predicateWithFormat key changesDic
  • 无效的 Swift 支持 - 文件位置不正确

    我一直在尝试将新版本上传到 iTunes Connect 来更新应用程序 我第一次使用 xCode 6 但收到了一封来自 Apple 的电子邮件 内容如下 亲爱的开发者 我们发现您最近交付的 应用程序 存在一个或多个问题 要处理您的交货 必

随机推荐