当前位置: 首页 > 面试题库 >

错误:UIView的窗口不等于另一个视图的窗口

漆雕育
2023-03-14
问题内容

我是一个学习敏捷的初学者。在这里的第一篇文章。

额外信息,但可能不必要。
在我创建的此应用中,用户在主View控制器上选择一个图像,并将其传递给第二个View控制器。在那里,图像被分解成碎片,并将这些碎片放置在单独的UIImageViews中。目的是通过交换图像以正确的顺序放置它们。

一切正常,并且在模拟器中运行正常。但是,我试图添加基本动画(移动UIImageViews),但是它们没有执行。我知道动画的语法正确,因为我在另一个项目中测试了代码。

主要问题
当我从主视图控制器导航到第二个视图控制器时,控制台中立即出现错误。它说的是:

2014-09-04 17:51:33.489 TileGame [79951:95150647] UIView:0x7f7fe9c84600; 框架=(0
0; 320568); 自动调整大小= W + H; layer = CALayer:0x7f7fe9c848d0

的窗口不等于TileGame.GameScreen:0x7f7fe9dc6bc0>视图的窗口!

我不知道这意味着什么,但除了阻止动画外,它似乎没有引起任何问题。有任何想法吗??

看起来这个人有类似的错误消息,但可能比我的应用程序复杂。在presentViewController:animated:completion之后,模态viewcontroller
UI不响应:

这是我在GitHub上的整个项目:https : //github.com/pakalewis/Parker-Lewis-
CF/tree/master/TileGame

谢谢


问题答案:

您似乎对iOS编程范例有一些基本的误解。您已经将segue附加到按钮上,但是您还可以在代码中调用performSegue。当将segue附加到控件时,不需要任何代码(也应该没有任何代码)来使segue执行。您也不应使用放松功能返回到先前的视图控制器,而要放松放松。您并没有真正回去,而是在创建您认为要回去的控制器的新实例。这将导致控制器堆积(因为不会释放控制器),直到您的应用程序内存不足。

因此,您应该从MainScreen删除函数letPlayButton:,并在情节提要中删除它(您只需要在该按钮上附加segue)即可​​。

从GameScreen到MainScreen删除要“返回”的segue,然后将backToMainScreen中的代码更改为此,

@IBAction func backToMainScreen(sender: AnyObject) {
        self.dismissViewControllerAnimated(true, completion: nil)
    }


 类似资料:
  • 目前,我已经开始使用Selenium2.0/Web-Driver为我工作的公司进行自动化测试。 目前我已经开发了大约20个测试,但是当我运行这些测试时,它们会为每个测试打开一个新的浏览器窗口。 我在注册测试用例中运行它,然后 在第二个测试用例中运行,我认为应该将焦点放回第一个窗口。 我还使用关闭正在创建的其他窗口,但我希望它们一开始就不打开。

  • 我有一个窗口窗体,包含两个列表视图(例如,命名为a和b)和一个按钮。当两个列表视图之间有焦点时,按钮的功能应该是以不同的方式显示消息框。 所以按钮的代码是 然而,当我在“b”列表视图中选择该项时。它总是返回MessageBox。节目(b)。当我重新开始并在“a”列表视图中选择一个项目时,它会给我一个空引用异常。 代码有什么问题吗?

  • 我有两条流: 测量 WhoMeasured(关于谁进行了测量的元数据) 这些是它们的案例类: 流包含大量数据。流几乎没有任何可用性。事实上,对于<code>who_measured_id</code>流中的每个<code>who_。这本质上是一个哈希表,由流填充。 在我的自定义窗口函数中 这是我的工作。现在你可能会看到,有一些东西不见了:两个流的结合。 因此,从本质上讲,这是一种查找表,当流中的新

  • 我试图在Windows上查看antlr4解析树。我按照https://www.antlr.org/上的说明设置了antlr4路径和grun路径,还添加了类路径。带有"-tree "的grun命令可以工作,但是当我指定"-gui "时,它在cmd中冻结了。 我尝试按照Java上的指令修复该错误消息无法打开/创建prefs错误,它消失了,但我仍然看不到解析树。

  • 使用Inspect.exe我可以看到应用程序组件的树结构中存在一个按钮,但我找不到获取该按钮句柄的方法。这是控件的Inspect.exe输出: 这个按钮的特殊之处在于它没有hwnd值。(hwnd: 0x0)。这是我试图获得对该按钮的引用的内容: 在本例中,hwnd变量是包含按钮的应用程序主窗口的句柄。 在阅读FindWindowEx的留档时,看起来似乎有多种方法可以使用不同的参数,我觉得我已经尝试

  • 长话短说,我搜索了与我类似的问题,所以我可以“自己”解决这个问题。我在这里和这里找到了这些例子,但没有一个对我有用。 我需要将在第一个窗口的TextField中键入的字符串传递给下一个窗口。 我的主要: 当我使用FXML时,这是Window1(java1)的控制器: 以及Window2的控制器(java2): 问题指向我用自定义函数(j2.setLbText)设置Text的Java1Control