• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 从另一个 UIViewController 呈现 UIViewController

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:52:16 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个名为 ViewControllerHome 的 UIViewController,当用户触摸屏幕上的图像时,我想显示第二个 View ,即成员(member)卡。通过触摸图像,我正在执行以下操作:

membershipCardViewController = [[MembershipCardViewController alloc] initWithNibName"MembershipCard" bundle:nil];
[self presentViewController:membershipCardViewController animated:YES completion:nil];

当代码执行时,presentViewController 行抛出异常。

我有一个带有 ViewController 的 .xib,其中包含一个 View 和一个成员(member)卡的 UIImageView。我将 ViewController 的类设置为我的 MembershipViewController。

一旦出现,我会一触即消。

谁能告诉我我错过了什么?我认为我的所有步骤都是正确的,可以展示 View Controller 。

感谢您的帮助。



Best Answer-推荐答案


在 MembershipCardViewController 的 nib 文件中,它的 View (它所控制的任何 View )连接到 View Controller 的 View 导出。

enter image description here

要执行此控制,请从文件所有者拖动到要连接到的 View (本例中为灰色 View )

enter image description here

你应该得到这个:

enter image description here

文件所有者应指向您的 MembershipCardViewController。每个 View Controller 都有一个指向 View 的指针。我猜你在删除库存后添加了一些自定义 View 。控制从文件所有者拖动到该 View 以制作 socket 。 (如果这个导出返回 nil,就会抛出异常)。

为了安全起见,请确保文件的所有者(在 nib 中)指向 MembershipCardViewController (这可能不是问题,但听起来您可能是从一个空 Nib 开始的)。

enter image description here

为此,请单击文件所有者,然后选择右侧的身份检查器。确保类说 MembershipCardViewController

我之前回答过另一个关于此的问题 Am I right in saying initWithNibName:bundle is used to manually load nib files and that initWithCoder would be used as an alternative?

这解释了实际发生的事情。

关于ios - 从另一个 UIViewController 呈现 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19527724/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap