ARC - 将UILabel置于UIButton内部无法正确释放

时间:2013-07-21 19:40:29

标签: ios automatic-ref-counting

我对这里发生的事情感到有点困惑。简单来说,我将UILabel添加到UIButton。发生了动画,因此需要嵌套。

我在按钮所在的容器上调用“removeFromSuperview”(并且固有地,标签位于其中)但我总是最终得到内存错误并最终崩溃。

那就是说,如果我评论标签的创建和放置 - 我根本没有问题。在这种情况下,我是否需要做一些事情来释放孩子(标签)?我尝试在主容器上从superview释放所有子视图,但标签再次嵌套在按钮视图中。

谢谢!

以下代码:

        /* Button Creation */

        UIButton *butt = [[UIButton alloc] initWithFrame:CGRectMake(navLeft-200, navTop, buttonsize, navHeight-20)];

        [butt setBackgroundColor:[UIColor clearColor]];
        [butt setTag:navSection];
        [butt addTarget:controller action:@selector(loadSectionFromNav:) forControlEvents:UIControlEventTouchUpInside];

        [overlayView addSubview:butt];

        /* Label Creation */

        UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, butt.frame.size.width, butt.frame.size.height)];
        [lbl setText:[NSString stringWithFormat:@"      %@", navItem]];
        [lbl setAlpha:0.0f];

        /* Adding the label to the button */

        [butt addSubview:lbl];

0 个答案:

没有答案