【问题标题】:UIScrollView does not work with EXC_BAD_ACCESSUIScrollView 不适用于 EXC_BAD_ACCESS
【发布时间】:2012-10-26 06:51:36
【问题描述】:

我有一个滚动视图,它是视图的子视图,并且有子视图。问题是这样的:scrollView 带有黑色背景(因为我设置了透明)并且也不起作用。 scrollView 与IBOutlet 连接。我重做了两次XIB,需要修复什么?当我将滚动视图添加为视图的子视图时:

 [self.view addSubview:self.scrollView];

我在运行时收到此错误:

   0x132b61:  calll  0x132b66;   CA::Layer::ensure_transaction_recursively(CA::Transaction*) + 14
   EXC_BAD_ACCESS(code=2 address=0xbf7ffffc)

如果我不在代码中添加它作为子视图,视图控制器会打开并且滚动视图是黑色的并且不会滚动。

【问题讨论】:

  • 不工作是什么意思?到底发生了什么?

标签: objective-c ios uiscrollview subviews


【解决方案1】:

您可能正在某处做某事,例如:

[myScrollView addSubview:myAnotherView];
[myAnotherView addSubview:myScrollView];

这会引发不必要的递归。检查你的代码。

【讨论】:

  • 不确定 OP,但我的应用程序在 CA::Layer::ensure_transaction_recursively 处崩溃,这为我解决了问题。谢谢!
【解决方案2】:

检查您是否使用带有框架的滚动视图进行初始化:

self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 280, 360)];

记得设置 contentSize 大于 frame,例如:

self.scrollView.contentSize = CGSizeMake(2*280, 360);

还在你的界面中添加委托:

<UIScrollViewDelegate>

并委托它:

self.scrollView.delegate = self;

【讨论】:

    【解决方案3】:

    在我的情况下,我的 UIView 收到了同样的错误。就我而言,我忘记为我的视图创建一个 IBOutlet。一旦我这样做了,错误就消失了。

    【讨论】:

      猜你喜欢
      • 2014-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多