1.以下の様にstoryboardで三つのviewcontrollerを作り、アトリビュートインスペクタで各自viewの色を設定しました。
2.作った3つのviewcontrollerに対応するクラスファイルを作り、アイデンティティインスペクタでそれらのviewcontrollerをそれぞれのクラスファイルに対応させました。
3.CAPSPageMenu.swiftのファイルをgithubから画像の様に入れました
4.親となるviewcontrollerを以下の様に書きました
swift
1import UIKit 2 3class ViewController: UIViewController { 4 5 var pageMenu: CAPSPageMenu! 6 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 11 var controllerArray: [UIViewController] = [] 12 13 let vc1: ViewController1 = ViewController1() 14 vc1.title = "1" 15 controllerArray.append(vc1) 16 17 let vc2: ViewController2 = ViewController2() 18 vc2.title = "2" 19 controllerArray.append(vc2) 20 21 let vc3: ViewController3 = ViewController3() 22 vc3.title = "3" 23 controllerArray.append(vc3) 24 25 let parameter: [CAPSPageMenuOption] = [ 26 27 .menuItemSeparatorWidth(4.3), 28 .useMenuLikeSegmentedControl(true), 29 .menuItemSeparatorPercentageHeight(0.1) 30 31 ] 32 pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: CGRect(x: 0.0, y: 20.0, width: self.view.frame.width, height: self.view.frame.height), pageMenuOptions: parameter) 33 34 self.view.addSubview(pageMenu!.view) 35 36 37 } 38 39 override func didReceiveMemoryWarning() { 40 super.didReceiveMemoryWarning() 41 } 42 43 44} 45
5.シュミレータで試したところ画像の様にタブ(?)だけは表示され、スワイプ移動、タブタップによるページ移動はできました。ですが、子viewcontrollerに設定した色が反映されませんでした。
私はstoryboardで作った子viewcontrollerが親viewcontrollerに認識されていないことが原因だと思うのですが、もしそうだとした場合どう修正すれば良いのでしょうか?
よろしくお願いします。
追記
色をつけるだけならvc1.view.backgroundColor = UIColor.blueColor()を記述するだけかと思われますが、storyboardで設定したviewcontrollerを使いたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/03 18:10