gpt4 book ai didi

iphone - IBAction 不会在 subview 中被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:19:20 24 4
gpt4 key购买 nike

我正在创建一个简单的应用程序,让用户可以在单击按钮后观看电影。您看到的第一个屏幕是带有 2 个按钮的主菜单。其中之一将用户发送到一个 subview ,我在 IBAction 方法中将其编码为:

ViewConroller *nextView = [[ViewController alloc] initWithNibName:@"NextMenu" bundle nil];
[self.view addSubview:[nextView view]];
[nextView release];

这部分很好,只是 subview 在前一个 View 的底部显示了一个 20 像素的栏。我环顾四周,没有一个解决方案像 this one为我工作。这甚至不是主要问题。在 subview 上,每当我单击一个按钮时,应用程序就会爆炸。 IBAction 方法甚至在执行方法内部的一行之前就中断了。在这里,在 goBack IBAction 方法中,我试图关闭 subview 并返回主菜单:

[self.view removeFromSuperview];

我的 XIB 文件中的连接是正确的,一切似乎都井井有条。这些按钮只是没有执行。我不确定它是否与添加 subview 或什么有关。我在谷歌和这个网站上做了很多搜索,但我仍然找不到解决方案。

这是我遇到的错误示例:

Terminating app due to uncaught exception 'NSInvalidArgumentException, reason: '-[__NSCFType goBack:]: unrecognized selector sent to instance 0x5640b70'

希望你们能帮帮我,这真的很令人沮丧。我觉得我已经尝试了一切。谢谢你的时间。让我知道是否需要提供更多信息。再次感谢。

最佳答案

ViewController *nextView = [[ViewController alloc] initWithNibName:@"NextMenu" bundle nil];

创建了 View Controller 。

[self.view addSubview:[nextView view]];

self.view 添加了 nextView.view 的值,因为它是 subview 并保留了它(注意它保留了 next.view 值而不是 nextView 本身)

[nextView release];

nextView 被释放并立即释放(因为它从未被任何人保留过)

按钮正在尝试向释放的对象发送消息 -> 行为未定义,在您的情况下,存在一些其他对象(或看起来像对象的东西)并且它不理解 goBack: 表示。

这就是为什么您不应该用自己的导航发明一个轮子(尤其是如果您是新手)。请改用 UINavigationController

关于iphone - IBAction 不会在 subview 中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328493/

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