UIScrollView does not work with EXC_BAD_ACCESS

2019-06-05 07:22发布

I have a scrollview that is subview of view, and has the subviews. The problem is this: the scrollView came with the black background (as I have set transparent) and also does not work. The scrollView is connected with an IBOutlet. I redid the XIB 2 times, what needs fixing? When I add the scrollView as subview of view:

 [self.view addSubview:self.scrollView];

I get this error during runtime:

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

If I do not add it as a subview in the code, the view controller opens and the scrollview is black and does not scroll.

3条回答
走好不送
2楼-- · 2019-06-05 07:26

Check if you init with your scrollView with frame:

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

Remember also to set contentSize bigger than frame, for example:

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

Also add delegate in your interface:

<UIScrollViewDelegate>

And delegate it:

self.scrollView.delegate = self;
查看更多
Emotional °昔
3楼-- · 2019-06-05 07:38

In my situation I had a UIView that was receiving the same error. In my case I had forgotten to create an IBOutlet for my view. Once I did this, the error went away.

查看更多
地球回转人心会变
4楼-- · 2019-06-05 07:51

You are probably doing somewhere, something like:

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

which kicks an unwanted recursion. Check your code.

查看更多
登录 后发表回答