iphone - subview 中未调用 IBAction
<p><p>我正在创建一个简单的应用程序,让用户在单击按钮后查看电影。您看到的第一个屏幕是带有 2 个按钮的主菜单。其中一个将用户发送到我在 IBAction 方法中这样编码的 subview :</p>
<pre><code>ViewConroller *nextView = [ initWithNibName:@"NextMenu" bundle nil];
];
;
</code></pre>
<p>这部分很好,只是 subview 在前一个 View 的底部显示了一个 20 像素的条。我环顾四周,没有一个像 <a href="https://stackoverflow.com/questions/3032773/my-view-is-displaying-y-20-dispite-its-frame-set-to-y-0-after-rotation-it-snaps" rel="noreferrer noopener nofollow">this one</a> 这样的解决方案为我工作。这甚至不是主要问题。在 subview 上,每当我单击一个按钮时,应用程序就会爆炸。 IBAction 方法甚至在方法内部执行一行之前就中断了。在这里,在 goBack IBAction 方法中,我试图关闭 subview 并返回主菜单:</p>
<pre><code>;
</code></pre>
<p>我的 XIB 文件中的连接是正确的,并且一切似乎都井然有序。按钮只是没有执行。我不确定它是否与添加 subview 或什么有关。我在谷歌和这个网站上做了很多搜索,但我仍然找不到解决方案。 </p>
<p>这是我遇到的错误的示例:</p>
<pre><code>Terminating app due to uncaught exception 'NSInvalidArgumentException, reason: '-: unrecognized selector sent to instance 0x5640b70'
</code></pre>
<p>希望你们能帮帮我,这真的很令人沮丧。我觉得我什么都试过了。谢谢你的时间。如果我需要提供更多信息,请告诉我。再次感谢。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><pre><code>ViewController *nextView = [ initWithNibName:@"NextMenu" bundle nil];
</code></pre>
<p> ViewController 已创建。</p>
<pre><code>];
</code></pre>
<p><code>self.view</code> 将 <code>nextView.view</code> 的值添加为 subview 并保留它(注意它保留了 <code>next.view</code> 值而不是 <code>nextView</code> 本身)</p>
<pre><code>;
</code></pre>
<p><code>nextView</code> 被释放并立即释放(因为它从未被任何人保留)</p>
<p>Button 正在尝试向已释放的对象发送消息 -> 行为未定义,在您的情况下,存在一些其他对象(或看起来像对象的东西)并且它不明白 <code>goBack:</code> 意思。</p>
<p>这就是为什么您不应该使用自己的导航来发明轮子(尤其是如果您是新手)。请改用 <code>UINavigationController</code>。</p></p>
<p style="font-size: 20px;">关于iphone -subview 中未调用 IBAction,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/5328493/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/5328493/
</a>
</p>
页:
[1]