Поскольку мы знаем, что изображение находится в камере, и я ненавижу подклассирование, мы можем собрать немного забавного взлома. Вы можете просто использовать свойство cell.imageView и перемешайте категорию на UIImageView:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
if([self.superview isKindOfClass:[UITableViewCell class]]){
if([touches anyObject].tapCount == 1){
//Image was tapped, issue notification, we use the cell as the object
[[NSNotificationCenter defaultCenter] postNotificationName:@"CellImageTapped" object:self.superview]
//just return after the notification
return;
}
}
//if it wasn't a tap, just forward the touch
[super touchesEnded:touches withEvent:event];
}
Затем в контроллере табличного, вы можете решить выбранную клетку путем:
NSIndexPath indexOfSelectedCellImage = [self.tableview indexPathForCell:[notificaton object]];
Я не проверял , но SuperView из cell.imageView может быть contentView, в этом случае просто заменить в следующем:
…if([self.superview.superview isKindOfClass:[UITableViewCell class]])…
…[[NSNotificationCenter defaultCenter] postNotificationName:@"CellImageTapped" object:self.superview.superview]…
Примечание: Убедитесь, что ваш контроллер представления таблицы подписаться на Notific ция.