Nennen wir die Artikel model1
... model3
;
@property (nonatomic, strong) NSMutableArray *mainArray;
@property (nonatomic, strong) NSMutableArray *leftArray;
@property (nonatomic, strong) NSMutableArray *rightArray;
@property (nonatomic, strong) UIScrollView *mainView;
@property (nonatomic, strong) UIScrollView *leftView;
@property (nonatomic, strong) UIScrollView *rightView;
Sie brauchen eine Modellklasse machen wie ItemModel
vererben UIView
oder NSObject
, in ItemModel.h
eine Eigenschaft machen (welche Eigenschaft Sie brauchen, und eine Eigenschaft, über die UIScrollView
dieses Modell enthält)
Erstens stellen alle Modelle Zeigen Sie in der Datenquelle der Hauptansicht mainArray
Modelle in Ihrem self.view
an und rufen Sie self.view bringSubviewToFront:
an und geben Sie allen Modellen eine UIPanGestureRecognizer
und eine Methode, um auf UIPanGestureRecognizer
zu reagieren, so dass Sie sie ziehen können.
Dies ist der wichtigste Teil:
Weil Sie wollen, dass alle Modelle von drei UIViews enthalten sein, können Sie die Modelle Rahmen zwischen self.view.frame
und die drei UIView
Frames Beziehung berechnen müssen. Tatsächlich sind alle ModelViews in self.view
enthalten, aber wenn sie visuell angezeigt werden, sind alle ModelViews in UIScrollViews enthalten.
Zweitens haben Sie bereits den Rahmen von drei UIView
, wenn Sie Modell ziehen Sie CGPoint
über die Lage des Schlepp bekommen können, dann rufen Sie die Methode CGRectContainsPoint(CGRect rect, CGPoint point)
, also können Sie jede Ansicht bekommen, die den Punkt enthält, die Sie ziehen.
Für exexample Ziehen Sie model1
mainView
-leftView
Sie eine YES
von CGRectContainsPoint(leftview.frame, point)
bekommen können, dann nehmen Sie die model1
von mainArray
und setzen model1
in leftArray
, mittlerweile müssen Sie erneut das Layout der drei UIViews
.
hier meinen Anteil URL für die gif ist: https://pan.baidu.com/s/1slFBva9
ja, kann dies für einen Moment solved.wait werden, habe ich meine Idee in meinem Antworten. –
@ezatu 丶 Ich warte auf Ihre freundliche Unterstützung – SimpleojbC