У меня есть UIWebView во многих объектах UITableViewCell, которые живут в UITableView. Когда вы пытаетесь прокрутить UITableView, иногда прикосновения «застревают» к объектам UIWebView. Тем не менее, мне все еще нужно иметь возможность щелкать ссылки внутри объектов UIWebView. Итак, я создал подкласс:
#import "SecretWebView.h"
@implementation SecretWebView
-(UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
if ([[event allTouches] count] == 0) {
return self.superview;
} else {
return self; //I have tried many things here...
}
}
@end
Я надеялся, что смогу вернуть суперпредставление (т. Е. TableViewCell), когда не было нажатой ссылки, а затем вернуть то, что обычно будет возвращено в противном случае, так что я все еще могу нажимать на ссылки и получать то же ожидаемое поведение , Все работает отлично, за исключением предложения "else", где UIWebView позволяет щелкать ссылку.
В коде вы увидите, где я прокомментировал «Я много чего пробовал здесь ...», и это включает следующее:
return [super hitTest:point withEvent:event];
return self;
return origObj; //where origObj was created in first line from the [super ...] call.
Пожалуйста, помогите мне! Как заставить его игнорировать любые действия, кроме одного нажатия на ссылку!?