質問編集履歴
4
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,4 +4,46 @@
|
|
4
4
|
|
5
5
|
~~`shouldHighlightRowAt`と`contextMenuConfigurationForRowAt`が呼ばれるのが順不同っぽいのですが、~~
|
6
6
|
|
7
|
-
`contextMenu`表示時にshouldHighlightRowAt`内部で処理を分岐する方法はないでしょうか?
|
7
|
+
`contextMenu`表示時に`shouldHighlightRowAt`内部で処理を分岐する方法はないでしょうか?
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
きちんと長押しされれば、`contextMenuConfigurationForRowAt`→`shouldHighlightRowAt`の順番に呼ばれるので、フラグでごまかしていますが、管理が煩わしくなるので、余計なフラグなどを設定せずに実現できないでしょうか?
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
```swift
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
var inProcess = false
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
func tableView(_ tableView: UITableView, shouldHighlightRowAt indexPath: IndexPath) -> Bool {
|
24
|
+
|
25
|
+
if inProcess { return false }
|
26
|
+
|
27
|
+
// 略
|
28
|
+
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
|
34
|
+
|
35
|
+
inProcess = true
|
36
|
+
|
37
|
+
DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) {
|
38
|
+
|
39
|
+
self.inProcess = false
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
// 略
|
44
|
+
|
45
|
+
}
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
```
|
3
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,6 +2,6 @@
|
|
2
2
|
|
3
3
|
[shouldHighlightRowAt](https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614988-tableview)が呼ばれて`shouldHighlightRowAt`内部に書かれている処理が実行されてしまいます。
|
4
4
|
|
5
|
-
`shouldHighlightRowAt`と`contextMenuConfigurationForRowAt`が呼ばれるのが順不同っぽいのですが、
|
5
|
+
~~`shouldHighlightRowAt`と`contextMenuConfigurationForRowAt`が呼ばれるのが順不同っぽいのですが、~~
|
6
6
|
|
7
7
|
`contextMenu`表示時にshouldHighlightRowAt`内部で処理を分岐する方法はないでしょうか?
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,6 +2,6 @@
|
|
2
2
|
|
3
3
|
[shouldHighlightRowAt](https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614988-tableview)が呼ばれて`shouldHighlightRowAt`内部に書かれている処理が実行されてしまいます。
|
4
4
|
|
5
|
-
|
5
|
+
`shouldHighlightRowAt`と`contextMenuConfigurationForRowAt`が呼ばれるのが順不同っぽいのですが、
|
6
6
|
|
7
7
|
`contextMenu`表示時にshouldHighlightRowAt`内部で処理を分岐する方法はないでしょうか?
|
1
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,4 +4,4 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
`表示時に
|
7
|
+
`contextMenu`表示時にshouldHighlightRowAt`内部で処理を分岐する方法はないでしょうか?
|