質問編集履歴

1

新しい情報の追加

2020/05/29 14:01

投稿

takaw
takaw

スコア128

test CHANGED
File without changes
test CHANGED
@@ -131,3 +131,63 @@
131
131
  C#
132
132
 
133
133
  Xamarin
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+ 追記
142
+
143
+ 詳しく調べたら少し状況が違っていたので、訂正します。
144
+
145
+ LandscapeだけでなくPortraitでも発生しないです。
146
+
147
+ 画面の向きは関係なかったです。
148
+
149
+ 「問題はタップの位置」のようです
150
+
151
+ TouchesBeganとTouchesEndedの中に
152
+
153
+ タップの座標を表示するようにコードを追加してみました
154
+
155
+
156
+
157
+ ```C#
158
+
159
+ CGPoint pos = new CGPoint();
160
+
161
+ UITouch touch = touches.AnyObject as UITouch;
162
+
163
+ if (touch != null) {
164
+
165
+ pos = touch.LocationInView(this);
166
+
167
+ }
168
+
169
+ ```
170
+
171
+ このposのXとYの座標をみると
172
+
173
+ Y座標がだいたい270以下くらい?になると
174
+
175
+ TouchesBeganは発生するが、TouchesEndedだけが発生しないようです。
176
+
177
+
178
+
179
+ X座標のほうもだいたい300前後以下くらいで発生しなくなります。
180
+
181
+ ただし、「だいたい300前後以下」であり、
182
+
183
+ Xが100くらいのときでも、たまにTouchesEndedが発生したりします。
184
+
185
+
186
+
187
+ つまり、画面の左上のほうは発生せず、
188
+
189
+ 右下のほうにいくほどTouchesEndedが正しく発生します。
190
+
191
+
192
+
193
+ でも、なぜなのかわかりません…。