回答編集履歴

1

indexPathForCell

2016/11/16 00:15

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -11,3 +11,43 @@
11
11
  テキストは出来ているんですよね?
12
12
 
13
13
  テキストをUILabel(でしょうか?)に設定するのと同じように、Bool値をUISwitchに設定してやればいいと思うのですが。
14
+
15
+
16
+
17
+ # indexPathForCellを使ってみる
18
+
19
+
20
+
21
+ SilvarRiceさんの回答で使われている`indexPathForRowAtPoint`とは別に、もう一つindexPathを取得する関数がありますので、それを使った回答を書いておきます。(Swift2ですみません)
22
+
23
+
24
+
25
+ ```swift
26
+
27
+ @IBAction func valueChanged(sender: UISwitch) {
28
+
29
+ if let
30
+
31
+ cv = sender.superview, //UISwitchのsuperviewはcontentView
32
+
33
+ cell = cv.superview as? UITableViewCell, //contentViewのsuperviewはセル
34
+
35
+ indexPath = tableview.indexPathForCell(cell) //セルを指定してindexPathを取得
36
+
37
+ {
38
+
39
+ print(indexPath)
40
+
41
+ //=> <NSIndexPath: 0xc000000000200016> {length = 2, path = 0 - 1}
42
+
43
+ } else {
44
+
45
+ print("ここには来ないはず?")
46
+
47
+ }
48
+
49
+ }
50
+
51
+ ```
52
+
53
+