gpt4 book ai didi

ios - 从另一个 UIViewController 呈现 UIViewController

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:45:01 25 4
gpt4 key购买 nike

我有一个名为 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 的所有步骤。

感谢您的帮助。

最佳答案

在 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 。控制从文件所有者到该 View 的拖动以创建导出。 (如果此 outlet 返回 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com