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

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

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

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

Q&A

解決済

1回答

1767閲覧

TabPageViewControllerでスワイプ動作時のdelegate

退会済みユーザー

退会済みユーザー

総合スコア0

Swift

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

0グッド

0クリップ

投稿2017/04/18 03:33

swift: 3
xcode: 8.3.1
TabPageViewController: 0.2.7

TabPageViewControllerを使ってスワイプ動作時のデリゲートメソッドを利用したいのですが動きません。ヒントだけでもご教示いただければ幸いです。

swift

1import UIKit 2import TabPageViewController 3 4class TabStripViewController: UIViewController, UIPageViewControllerDelegate { 5 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 9 // TabPageViewController 10 let tc = TabPageViewController.create() 11 tc.delegate = self 12 13 let vc01 = SaleDetailItemFeedViewController(categoryInfo: "A") 14 let vc02 = SaleDetailItemFeedViewController(categoryInfo: "B") 15 let vc03 = SaleDetailItemFeedViewController(categoryInfo: "C") 16 let vc04 = SaleDetailItemFeedViewController(categoryInfo: "D") 17 18 tc.tabItems = [ 19 (vc01, vc01.categoryInfo), 20 (vc02, vc02.categoryInfo), 21 (vc03, vc03.categoryInfo), 22 (vc04, vc04.categoryInfo), 23 ] 24 25 tc.isInfinity = true 26 27 var option = TabPageOption() 28 option.tabMargin = 20.0 29 option.isTranslucent = false 30 tc.option = option 31 32 // viewControllerを差し替える 33 self.childViewControllers.forEach { 34 $0.view.removeFromSuperview() 35 $0.removeFromParentViewController() 36 } 37 self.view.addSubview(tc.view) 38 self.addChildViewController(tc) 39 tc.didMove(toParentViewController: self) 40 41 } 42 43 func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) { 44 let currentViewController = pageViewController.viewControllers?[0] 45 print("\(String(describing: currentViewController?.title)))") 46 } 47 48} 49

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

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

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

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

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

guest

回答1

0

ベストアンサー

UIPageViewControllerDelegateはTabPageViewControllerが使用しています。
例えば、tc.delegate = selfをviewDidLoad()の最後あたりに書けば乗っ取ることは出来ます。

投稿2017/04/18 04:13

fuzzball

総合スコア16731

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

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

退会済みユーザー

退会済みユーザー

2017/04/19 01:55

動きました! ViewControllerの差し替えのあとにデリゲートメソッドのセットをしないといけなかったっていうことですかね。大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問