質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cocoa

CocoaはMac OS X用のアプリケーションを構築する為の主要なフレームワークのひとつです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1546閲覧

UITabBarControllerのアイコンタップイベントの取得について

退会済みユーザー

退会済みユーザー

総合スコア0

Cocoa

CocoaはMac OS X用のアプリケーションを構築する為の主要なフレームワークのひとつです。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/11/28 13:54

編集2017/11/29 14:16

###前提・実現したいこと
UITabBarControllerの選択されているタブをタップすると、tableViewの一番上までスクロールする機能を実装したいと思っています。

例としてはtwitterやInstagramなどのタイムラインです。

そこで、まずはタップのイベント取得がしたく、インターネットで調べてみると、

Swift

1func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) { 2 3}

このようなコードでイベントが取得できるようですが、私の環境では反応しませんでした。

問題の原因として考えているのは、animated-tab-barというタブバーのアイコンにアニメーションを加えるフレームワークを使っていることです。
https://github.com/Ramotion/animated-tab-bar/blob/master/README.md

###試したこと

https://stackoverflow.com/questions/45204146/swift-selected-tab-bar-index-not-triggering-scroll-to-top

https://stackoverflow.com/questions/43412259/tap-uitabbaritem-to-scroll-to-top-like-instagram-and-twitter

とんちんかんな質問をしていたら申し訳ありませんが、タブアイコンタップのイベント取得方法について、何卒よろしくお願いいたします。

以下、追記。

https://github.com/Ramotion/animated-tab-bar/blob/master/RAMAnimatedTabBarController/RAMAnimatedTabBarController.swift

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/11/29 00:20 編集

そのコードをどこに書いているのでしょうか?あと、Swiftのバージョンを教えて下さい。
退会済みユーザー

退会済みユーザー

2017/11/29 03:52 編集

ありがとうございます。tableViewをのせているViewControllerクラスの中で書いています。またそのViewControllerにはUITabBarControllerDelegateクラスを継承しています。Swift4を使用しています。よろしくお願いいたします。
guest

回答2

0

ベストアンサー

求めていた回答を同サービス内で発見しました。ちゃんと調べ切らずに質問してしまい申し訳ありませんでした。
https://teratail.com/questions/97216

投稿2017/11/29 15:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/11/30 07:08

上記質問のコメントにも書きましたが、RAMAnimatedTabBarControllerをupdateすれば didSelectが呼ばれるようになります。
退会済みユーザー

退会済みユーザー

2017/11/30 14:19

大変助かります... ありがとうございました。なんどもお世話になってしまい申し訳ないのですが、情けなくもいまだにdidSelectを呼ぶことができていません... 下記質問の最後に追記で現在のコードを記しましたので、もしよろしければアドバイスをいただきたいです。よろしくお願いします!https://teratail.com/questions/102617
guest

0

tabBarController(_:didSelect:)はUITabBarControllerに実装して下さい。
delegateの設定も忘れずに。

投稿2017/11/29 04:17

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/11/29 14:11

ご回答いただきありがとうございます。今回使用しているフレームワークにあったUItabBarControllerを含むコードを追記させていただきました。このコード内ですと、どの部分でイベントを呼び出し、どうやってtableViewスクロールを操作すれば良いのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問