Objective-C / iPhone:Windows视图无法响应按钮点击!

时间:2009-09-16 00:03:44

标签: iphone

因此,在我的app委托中,我添加了一个调用,将myViewController.view添加到主窗口:
1. [window addSubview:myViewController.view];

在myViewController中,我在viewDidAppear方法中执行以下代码:
2. [self presentModalViewController:yourViewController animated:YES];


在我的yourViewController类中,我执行以下操作以尝试返回主窗口
3. [self dismissModalViewControllerAnimated:YES];

我的主窗口视图全部显示按钮,但按钮不会对任何点击或任何内容做出反应。这就像是我看不到的东西。

此外,主窗口按钮在此过程之前有效,但在此过程之后不起作用。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

  1. 如果dismiss方法调用位于模态视图控制器中(而不是显示它的父级),那么您实际上想要调用[self.parentController dismissModalViewControllerAnimated:YES];
  2. 有很多原因导致事情可能无法响应您的触摸。以下是发生在我身上的两件事:
    • 您想要触摸的视图框架太小。 UIView s可以在他们的框架之外绘制,所以它可能看起来不错,但如果触摸在技术上不在框架之外也不会响应 - 你还必须检查层次结构中的所有超级视图是否也足够大帧。
    • 如果您的观看中的任何内容属于UIImageView或其子代,则它不会响应用户触摸,因为UIImageView默认情况下userInteractionEnabled设置为NO。您只需设置myImageView.userInteractionEnabled = YES;
    • 即可解决此问题
  3. 修改:Oli在评论中指出dismissModalViewControllerAnimated:如果在self.parentControllerself上调用,应该有效,因为该方法足够智能根据文档,如果需要,请致电父母。如果您同时打开多个模型视图,那么文档也会让人觉得这可能会有所不同,所以我仍然认为直接在self.parentController调用该方法的代码更清晰。