teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2017/12/02 05:12

投稿

xAxis
xAxis

スコア1349

answer CHANGED
@@ -1,3 +1,9 @@
1
+ ###追記(重要)
2
+ 2017/11/30
3
+ [fuzzballさん](https://teratail.com/users/fuzzball)によってdidselectに関するプルリクエストが行われ、即座にマージまでされました。なので今後アップデートされたバージョンによってはdidselectは通常通り機能すると思われます。fuzzballさんありがとうございました。
4
+
5
+ ###以下これまで通り
6
+
1
7
  これdidSelectが機能しませんね。**まさかの展開**。せっかくなので実際に動かしてみました。
2
8
 
3
9
  環境

1

コード修正及び文章変更

2017/12/02 05:12

投稿

xAxis
xAxis

スコア1349

answer CHANGED
@@ -1,5 +1,15 @@
1
- こんなクラスを作って
1
+ れdidSelectが機能しませね。**まさかの展開**。せかくなので実際に動かしみました。
2
2
 
3
+ 環境
4
+ swift 4.0
5
+ Xcode 9.0.1
6
+ RAMAnimatedTabBarController ~> 2.2
7
+
8
+ 構成としてはRAMAnimatedTabBarController配下に二つのViewControllerがあります。それぞれFirstViewController、SecondViewControllerと名前をつけます。
9
+
10
+ MyTabBarController.swiftを作成します。
11
+ **didSelect**ではなく**tapHandler**をoverrideしていきます。
12
+
3
13
  ```swift
4
14
  import UIKit
5
15
  import RAMAnimatedTabBarController
@@ -16,11 +26,14 @@
16
26
  super.didReceiveMemoryWarning()
17
27
  // Dispose of any resources that can be recreated.
18
28
  }
19
-
29
+
20
- override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
30
+ override func tapHandler(_ gesture: UIGestureRecognizer) {
21
- print("Hey")
31
+ super.tapHandler(gesture)
32
+ print(selectedIndex) //print 0 if you tap tabBarItem of FirstViewController
22
33
  }
23
34
  }
24
35
  ```
36
+
25
37
  んでMyTabBarControllerをStoryBoardに用意したTabBarControllerのCustomClassにすると。
38
+ 今回は動作確認済みです。
26
- 動作確認してないのアレだたらまた教えてください
39
+ 場合分けはselectedIndexってく感じになりそうですね