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

iphone - subview 中未调用 IBAction

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

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

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'

希望你们能帮帮我,这真的很令人沮丧。我觉得我什么都试过了。谢谢你的时间。如果我需要提供更多信息,请告诉我。再次感谢。



Best Answer-推荐答案


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

View Controller 已创建。

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

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

[nextView release];

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

Button 正在尝试向已释放的对象发送消息 -> 行为未定义,在您的情况下,存在一些其他对象(或看起来像对象的东西)并且它不明白 goBack: 意思。

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

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

回复

使用道具 举报

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

本版积分规则

关注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