如果我有嵌套子视图,如果我调用removefromsuperview,是否所有子视图都会被处理?
伪代码:
UIView *viewA = [[UIView alloc] initWithFrame:CGRectMake(0 , 0, 100, 100)];
[self.view addSubview:viewA];
UIView *viewB = [[UIView alloc] initWithFrame:CGRectMake(25 , 25, 50, 50)];
[viewA addSubview:viewB];
UIButton *buttonC = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[viewB addSubview:buttonC];
然后按下buttonC:
[viewA removeFromSuperView];
所有视图都会从屏幕上删除,但它们是否已正确删除? 我是否需要手动删除所有视图?
答案 0 :(得分:8)
所有观点都将被删除。如果您对strong
保持viewA
引用,那么所有观看次数仍然存在,可以在以后再次添加。如果不这样做,它们都将被销毁。
答案 1 :(得分:2)
只要您没有对您的观点A..C的其他引用,它们将被删除并销毁
答案 2 :(得分:1)
您可以轻松查看。创建uiview的子类,覆盖dealloc方法并在那里设置制动点。然后创建此类的实例并将其作为子视图添加到视图中。 当您在视图中调用removeFromSuperview时,将激活制动点。
就是这样。