2016-03-29 9 views
1

My UIScrollView in einem verschachtelten UITableView, in dem UITableView hat eine linke Zeile Pop-up-Menü von Gesten, und jetzt die beiden Ansichten der Geste Konflikt. Jetzt ist die Frage: Wie löst man dieses Problem, ohne die UITableView zu ändern?ScrollView kollidieren mit UItableview

PS: Ich habe UIScrollViewScrollEnabled=false

enter image description here

enter image description here enter image description here

+1

Teilen Sie Ihre Ansichtshierarchie. –

+0

@BharatModi http://i.stack.imgur.com/nAXId.png http://i.stack.imgur.com/Sfavn.png –

+0

Nicht diese, Zeigen Sie Ihr Dokument umreißen. –

Antwort

0

gesetzt wurde Ihre Frage anders ist, aber wie erklären Sie sich, dass Ihr Hauptproblem ist der Konflikt zwischen den Gesten, das heißt, Sie sind nicht in der Lage, zwischen Gesten zweier Ansichten zu unterscheiden,

Zu lösen, gibt es zwei Möglichkeiten, müssen Sie Geste in GestureRecognizer Delegatmethode basierend auf Zustand erhalten, können Sie entweder die Klasse überprüfen, die die Geste oder durch Prüfen Klasse oder nach Tag

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
    shouldReceiveTouch:(UITouch *)touch 
{ 
    if([touch.view class] == [UITableView class]){ 
    return NO; 
    } else if (touch.view.tag == 100) { 
    return NO; 
    } else if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) { 
    return NO; 
} 

    return YES; 
} 
erhielt

Was dieser Delegat tun würde, ist, wird es nennen die Gesten-Handler-Methode nur für die Ansicht, die Sie mit Gesten behandeln möchten, und Sie können auch zwischen den Gestenerkennern unterscheiden.

+0

Danke, ich sah die Hoffnung, das Problem zu lösen. Die letzte Frage ist, an welchen Ort soll ich den Code schreiben? –

+0

In der Klasse, in der Sie die Gesten für Ihre Ansichten hinzugefügt haben. –

+0

ok danke, ich habe es verstanden. –