“这个UIView似乎是NSISVariable的委托,它不知道任何事情。这是一个内部UIKit错误”错误

时间:2013-01-31 03:58:05

标签: ios uiview opengl-es uikit

我正在开发一个opengl项目。 我使用了一些图像(2个用于x-y刻度)和标签(8个)在屏幕上显示刻度。 我的第一个观点是tableview,我可以从openglView转到openglView。但是每当我从tableView返回到affineTransform时,它都会给我这个错误并且应用程序崩溃了。

“这个UIView似乎是NSISVariable的代表,它对此一无所知。这是一个内部的UIKit错误。”

任何建议? 这是因为我包含了太多的UI元素,除了那些图像和标签我也使用了一些按钮。我正在将2013-01-31 12:20:18.743 EMtouch[50496:12203] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '{ Rows: UILayoutContainerView:0x9835660.Height == 480 + 1*0x7e53030.marker + 1*0x7e546c0.marker UILayoutContainerView:0x9835660.Width == 320 + 1*0x7e52f90.marker + 1*0x7e54330.marker UILayoutContainerView:0x9835660.minX == 0 + 1*0x7e52ca0.marker + -0.5*0x7e52f90.marker UILayoutContainerView:0x9835660.minY == 0 + 1*0x7e52fd0.marker + -0.5*0x7e53030.marker UINavigationTransitionView:0x9837ea0.Height == 480 + 1*0x7e51bf0.marker + 1*0x7e53030.marker + 1*0x7e546c0.marker UINavigationTransitionView:0x9837ea0.Width == 320 + 1*0x7e519c0.marker + 1*0x7e52f90.marker + 1*0x7e54330.marker UINavigationTransitionView:0x9837ea0.minX == 0 + 1*0x7e51940.marker + -0.5*0x7e519c0.marker UINavigationTransitionView:0x9837ea0.minY == 0 + 1*0x7e51b80.marker + -0.5*0x7e51bf0.marker UIWindow:0x7e1aea0.Height == 480 + 1*0x7e546c0.marker UIWindow:0x7e1aea0.Width == 320 + 1*0x7e54330.marker UIWindow:0x7e1aea0.minX == 0 + -0.5*0x7e54330.marker + 1*0x7e54410.marker UIWindow:0x7e1aea0.minY == 0 + 1*0x7e542d0.marker + -0.5*0x7e546c0.marker objective == <250:-0.000579834> + <250:-9.72015e-08>*UILabel:0x7b44bf0.Width + <250:9.72015e-08>*UILabel:0x7b45100.Width Constraints: <NSAutoresizingMaskLayoutConstraint:0x7e51940 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.midX == UILayoutContainerView:0x9835660.midX> Marker:0x7e51940.marker <NSAutoresizingMaskLayoutConstraint:0x7e519c0 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.width == UILayoutContainerView:0x9835660.width> Marker:0x7e519c0.marker <NSAutoresizingMaskLayoutConstraint:0x7e51b80 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.midY == UILayoutContainerView:0x9835660.midY> Marker:0x7e51b80.marker <NSAutoresizingMaskLayoutConstraint:0x7e51bf0 h=-&- v=-&- UINavigationTransitionView:0x9837ea0.height == UILayoutContainerView:0x9835660.height> Marker:0x7e51bf0.marker <NSAutoresizingMaskLayoutConstraint:0x7e52ca0 h=-&- v=-&- UILayoutContainerView:0x9835660.midX == UIWindow:0x7e1aea0.midX> Marker:0x7e52ca0.marker <NSAutoresizingMaskLayoutConstraint:0x7e52f90 h=-&- v=-&- UILayoutContainerView:0x9835660.width == UIWindow:0x7e1aea0.width> Marker:0x7e52f90.marker <NSAutoresizingMaskLayoutConstraint:0x7e52fd0 h=-&- v=-&- UILayoutContainerView:0x9835660.midY == UIWindow:0x7e1aea0.midY> Marker:0x7e52fd0.marker <NSAutoresizingMaskLayoutConstraint:0x7e53030 h=-&- v=-&- UILayoutContainerView:0x9835660.height == UIWindow:0x7e1aea0.height> Marker:0x7e53030.marker <NSAutoresizingMaskLayoutConstraint:0x7e54330 h=--- v=--- H:[UIWindow:0x7e1aea0(320)]> Marker:0x7e54330.marker <NSAutoresizingMaskLayoutConstraint:0x7e546c0 h=--- v=--- V:[UIWindow:0x7e1aea0(480)]> Marker:0x7e546c0.marker <_UIWindowAnchoringConstraint:0x7e542d0 h=--- v=--- UIWindow:0x7e1aea0.midY == + 240> Marker:0x7e542d0.marker <_UIWindowAnchoringConstraint:0x7e54410 h=--- v=--- UIWindow:0x7e1aea0.midX == + 160> Marker:0x7e54410.marker }: internal error. Cannot find an outgoing row head for incoming head UILabel:0x7b44bf0.Width, which should never happen.' *** First throw call stack: (0x1fb1012 0x19f4e7e 0x1fb0deb 0x1599609 0x159c64f 0x159c753 0xe7e8f9 0x982b24 0x982783 0xbba3fe 0xbba698 0x97a3b6 0x97a554 0x28f7d8 0x1c2b014 0x1c1b7d5 0x1f57af5 0x1f56f44 0x1f56e1b 0x34d37e3 0x34d3668 0x93c65c 0xc56d 0x2b35 0x1) libc++abi.dylib: terminate called throwing an exception 应用于这些图片和标签以及一个按钮。

确切错误是:

{{1}}

1 个答案:

答案 0 :(得分:2)

“tableview from we to openglView” - 此语句结合使用仿射变换表明您没有使用标准导航并尝试移动视图并同时使用Autolayout。

这次崩溃与相反的一组约束相关,我猜你正在应用仿射变换,从而搞砸了一些帧。尝试修改约束常量,而不是使用任何转换。