Я действительно застрял в этом вопросе в течение довольно долгого времени
Я пытаюсь добавить UIControl
(который в конце концов является UIView
) к UITableViewCell
, у которого есть подклассы в моем собственном классе (я создал пользовательскую ячейку)
при свайпе я создаю свой класс UIControl
и добавляю его себе (ячейке), пока все хорошо. Вот код
[self addSubview:_statusView];
Однако я добавляю целевое действие к своему UIControl
в пользовательской ячейке, чтобы ячейка могла обрабатывать, когда UIControl
говорит, что он распознал touchDownEvent.
[self.statusView addTarget:self action:@selector(resetAll:) forControlEvents:UIControlEventTouchDown];
И вот что я хочу сделать в действии, я хочу удалить этот UIControl
из self.subviews
(подвиды ячейки), поэтому я установил метод действия следующим образом
- (void)resetAll:(id)sender
{
for (UIView *view in self.subviews) {
if ([view isKindOfClass:[StatusView class]]) {
[view removeFromSuperview];
}
}
}
Может ли кто-нибудь указать, что не так в этом коде? потому что я не могу понять, почему представление, которое добавляется в ячейку, не удаляется. Мне кажется, что свойство subviews никогда не содержит моего UIControl
, который я добавляю.
[sender removeFromSuperview]
? - person Paulw11   schedule 24.07.2014resetALL:
действительно вызывается.sender
это событие? это не тотUIView
, который я хочу удалить. - person Emad Abdulrahim   schedule 24.07.2014