Ich habe eine UIScrollView
, die viele Ansichten enthalten kann. Um ein gutes Scrollen zu ermöglichen (ohne die Inhalte außerhalb der Ansicht beim Scrollen gehen), auf meinem Main.sotryboard
, ich habe auf meinem UIScrollView
geklickt und dann im Attribut-Inspektoren habe ich die Clip Subviews
Eigenschaft erlaubt:Wie programmgesteuert die clipsToBounds-Eigenschaft zu schließen, wenn ein GestureRecognizer beginnt?
Mein Problem: alle Ansichten, die in meinem UIScrollViews
sind ziehbar (da sie alle einen UIPanGestureRecognizer
haben Also, wenn ich versuche, sie zu ziehen außerhalb meines UIScrollView
, verschwinden sie nur in der Tat sind sie gerade hinter gehen.. jede andere Ansicht
Um Ihnen ein Beispiel zu geben, habe ich andere Komponenten, die den Fall einer Ansicht aus dem Präzedenzfall UIScrollView
ermöglichen. Wenn ich mit dem Drag'n'Drop beginne, verschwindet es und taucht wieder in der zweiten Komponente auf, auf die ich die Ansicht fallen gelassen habe.
Was ich versucht habe: Ich habe eine besondere UIPanGestureRecognizer
für te drag'n'drop einer Aussicht von diesem UIScrollView
kommen. Also, ich habe eigentlich das (die offensichtlich nicht funktioniert, sonst wäre ich nicht hier):
//Here recognizer is the `UIPanGestureRecognizer`
//selectpostit is the name of the view I want to drag
if(recognizer.state == UIGestureRecognizerStateBegan){
selectpostit.clipsToBounds = NO;
}
Irgendwelche Ideen auf, wie ich das verbessern? Vielen Dank im Voraus.
clipsToBounds auf NO Einstellung sollte für die Eltern erfolgen Aussicht. Scrollen Sie in Ihrem Fall. –
Anstatt die 'clipsToBounds' in der Ansicht, die Sie ziehen möchten, zu ändern, ändern Sie sie in der' scrollView'. Eine weitere Option, die beim Ziehen von Ansichten funktioniert, ist das Erstellen und Steuern eines Bildsnapshot der Ansicht und das Ausblenden der ursprünglichen Ansicht. Wenn Sie mit dem Ziehen fertig sind, positionieren Sie wo nötig – Cjay
Oh, das sieht wirklich gut aus! Vielen Dank. Aber jetzt, wenn ich viel Sicht in meinem Scrollview habe, erscheinen sie, während ich ziehe (ich habe das Umgekehrte gemacht, wenn das Ziehen beendet ist, also clipToBounds = yes if (recognizer.state == UIGestureRecognizerStateEnded). Haben Sie? eine Lösung für das? @ Surya Subenthiran – Kokodelo