【发布时间】:2014-07-24 12:52:53
【问题描述】:
我真的被这个问题困扰了很长时间
我正在尝试将UIControl(最后是UIView)添加到我自己的类中有子类的UITableViewCell(我创建了一个自定义单元格)
在滑动时,我创建了我的 UIControl 类并将其添加到我自己(单元格)中,到目前为止一切顺利。这是代码
[self addSubview:_statusView];
但是,我在自定义单元格中向我的UIControl 添加了一个目标操作,以便当UIControl 说他已经识别出一个 touchDownEvent 时,该单元格可以处理。
[self.statusView addTarget:self action:@selector(resetAll:) forControlEvents:UIControlEventTouchDown];
这是我想在动作中做的,我想从self.subviews(单元格的子视图)中删除UIControl,所以我将动作方法设置为这样
- (void)resetAll:(id)sender
{
for (UIView *view in self.subviews) {
if ([view isKindOfClass:[StatusView class]]) {
[view removeFromSuperview];
}
}
}
有人能指出这段代码有什么问题吗?因为我真的不明白为什么添加到单元格的视图没有被删除。在我看来, subviews 属性从未包含我添加的UIControl。
【问题讨论】:
-
是你的 resetAll: 选择器被调用
-
为什么不直接打电话给
[sender removeFromSuperview]? -
resetALL:确实被调用了。sender是活动吗?它不是我要删除的UIView。 -
-(void)resetAll:(UIView *)sender { [sender removeFromSuperview]; }. -
为什么我在这个问题上得到了-1的声誉?这个网站有时有点迟钝。
标签: ios uiview subview superview