Ziehen Sie UIView zwischen UIViews

8

Ich habe ein UIView-Objekt X, das in einem UIView-Objekt A enthalten ist. Ich möchte X berühren und es aus Objekt A entfernen und es in Objekt B (eine andere UIView) verschieben. Sowohl Objekt A & amp; B sind innerhalb derselben Super UIView.

%Vor%

Das habe ich bisher.

%Vor%     
Kendall Hopkins 01.10.2010, 19:34
quelle

2 Antworten

10

Rufen Sie [[touches anyObject] locationInView: self.superview] auf, um den Punkt in der Containeransicht unter den Finger zu bringen. Dann sende self.superview -hitTest:withEvent: , um herauszufinden, in welcher Ansicht X drin ist. Beachten Sie, dass immer X zurückgegeben wird. Sie müssen also -pointIsInside:withEvent: oder -hitTest:withEvent: überschreiben, um beim Ziehen nil zurückzugeben. Diese Art von Klamm ist der Grund, warum ich eine solche Verfolgung in der Containeransicht statt in einer gezogenen Ansicht implementieren würde.

    
Costique 01.10.2010, 19:57
quelle
0

Mit iOS 11 können Sie Ihr Problem mit Drag & Drop-APIs lösen. Der folgende Swift 4-Code zeigt, wie es geht.

ViewContainer.swift

%Vor% %Vor%    %Vor%

ViewController.swift

%Vor%    %Vor%    %Vor%    %Vor%

    
Imanou Petit 24.02.2018 22:59
quelle