我真的需要你的帮助。因为“removeFromSuperview
”没有删除视图。但是(self.view.subviews)中不存在该视图。
mycode的(rubymotion)
@back_view = UIView.alloc.initWithFrame(CGRectMake(0, 0, boundsSize.width, boundsSize.height))
self.view.addSubview(@back_view)
p "A #{self.view.subviews}"
@back_view.removeFromSuperview
p "B #{self.view.subviews}"
控制台
A
[PXUITableView_UITableView:0xd3be600, PXUIView_UIView:0x10cc7c30]
B
[PXUITableView_UITableView:0xd3be600]
所以,removeFromSuperview
正在发挥作用。但不是删除视图。
为什么?
答案 0 :(得分:0)
在init方法之后,p @back_view获取@back_view实例指针,并在removeFromSuper之后获取@back_view和@back_view.superView。如果@back_view实例指针在删除之前不在子视图的日志中,或者@ back_view.superView不是nil,那么可能你创建了多个具有相同帧的视图;