質問編集履歴

1

ソースコードを開示しました。

2021/02/15 08:53

投稿

katw
katw

スコア1

test CHANGED
File without changes
test CHANGED
@@ -10,9 +10,137 @@
10
10
 
11
11
 
12
12
 
13
+ ### 該当のソースコード
14
+
15
+
16
+
17
+ ```Swift
18
+
19
+
20
+
21
+ import UIKit
22
+
23
+
24
+
25
+ class ViewController: UIViewController {
26
+
27
+
28
+
29
+ var button1x: CGFloat?
30
+
31
+ var button1y: CGFloat?
32
+
33
+ var button2x: CGFloat?
34
+
35
+ var button2y: CGFloat?
36
+
37
+
38
+
39
+ @IBOutlet weak var nowLabel: UILabel!
40
+
41
+
42
+
43
+ @IBOutlet weak var button1: UIButton!
44
+
45
+ @IBOutlet weak var button2: UIButton!
46
+
47
+
48
+
49
+ @IBOutlet weak var button1ConterX: NSLayoutConstraint!
50
+
51
+ @IBOutlet weak var button1ConterY: NSLayoutConstraint!
52
+
53
+
54
+
55
+ override func viewDidLoad() {
56
+
57
+ super.viewDidLoad()
58
+
59
+
60
+
61
+ button2x = button2.frame.origin.x
62
+
63
+ button2y = button2.frame.origin.y
64
+
65
+ }
66
+
67
+
68
+
69
+ @IBAction func button1Pan(_ sender: UIPanGestureRecognizer) {
70
+
71
+
72
+
73
+ //移動量を取得する。
74
+
75
+ let move:CGPoint = sender.translation(in: view)
76
+
77
+
78
+
79
+ //button1の位置の制約に移動量を加算する。
80
+
81
+ button1ConterX.constant += move.x
82
+
83
+ button1ConterY.constant += move.y
84
+
85
+
86
+
87
+ //画面表示を更新する。
88
+
89
+ view.layoutIfNeeded()
90
+
91
+
92
+
93
+ //変数に現在座標を入れる
94
+
95
+ button1x = sender.view!.frame.origin.x
96
+
97
+ button1y = sender.view!.frame.origin.y
98
+
99
+
100
+
101
+ nowLabel.text = "ドラッグ中です"
102
+
103
+
104
+
105
+ //移動量を0にする。
106
+
107
+ sender.setTranslation(CGPoint(x: 0, y: 0), in:view)
108
+
109
+ }
110
+
111
+
112
+
113
+ /* ドロップ時に書きたい処理
114
+
115
+ if button2x!-30 < button1x! && button2x!+30 > button1x! &&
116
+
117
+ button2y!-30 < button1y! && button2y!+30 > button1y! {
118
+
119
+ nowLabel.text = "button2上でドロップしました"
120
+
121
+ } else {
122
+
123
+ nowLabel.text = "ドロップしました"
124
+
125
+ }
126
+
127
+ */
128
+
129
+
130
+
131
+ }
132
+
133
+
134
+
135
+ ```
136
+
137
+
138
+
13
139
  ### 試したこと
14
140
 
15
141
  ドラッグ時、何をドラッグしているのかわかるようにしたかったので、Button1にUIPanGestureRecognizerをつけました。しかし、ドロップ時の処理がわかりませんでした。
142
+
143
+ (ソースコードはその時のものです。)
16
144
 
17
145
 
18
146