![見出し画像](https://assets.st-note.com/production/uploads/images/101530048/rectangle_large_type_2_f52c1038276c45a506923f235df63f3c.png?width=1200)
【徒然iOS】気ままにUIKit87〜Tab Bar タブで画面を切り替える〜
概要
このマガジンは四十を過ぎたおっさんが、
を参考にStoryboardでiOSアプリを完全に趣味で楽しんでいるだけな記事を気ままに上げてます。
今回
をハイ、レッツゴ🕺
前準備
念の為、
バックアップ
をいつも通りやってから本題へ💃
![](https://assets.st-note.com/img/1680155643154-MNbpvkUiD6.png?width=1200)
とりあえず、、、
![](https://assets.st-note.com/img/1680155678014-txWO35ZBfO.png?width=1200)
本題の前に(導入編)
タブバーとは、
画面を切り替えるボタンを並べるためのバー
⒈タブバーコントローラをセット
![](https://assets.st-note.com/img/1680155963933-aTFBkBVSLI.png?width=1200)
![](https://assets.st-note.com/img/1680155976087-rcGfrJbr89.png?width=1200)
![](https://assets.st-note.com/img/1680155991143-391zGa4uZa.png?width=1200)
![](https://assets.st-note.com/img/1680156048990-zrsSQXoSDv.png?width=1200)
![](https://assets.st-note.com/img/1680156077480-jPmM1R0xF9.png?width=1200)
⒉分かりやすいように各ビューにイメージをセットしてから、シミュレータで実行
![](https://assets.st-note.com/img/1680156214831-9rFHLrnLIT.png?width=1200)
![](https://assets.st-note.com/img/1680156299857-UkWYZeAgTz.png?width=1200)
![](https://assets.st-note.com/img/1680156313569-geXulYr5Lw.png?width=1200)
めちゃくちゃ簡単でしょ👀
ちなみに、
![](https://assets.st-note.com/img/1680156406071-qNoOdHt1Ll.png?width=1200)
![](https://assets.st-note.com/img/1680156585852-F4Cmew7yzE.png?width=1200)
![](https://assets.st-note.com/img/1680156613318-bd0VZ8UGRz.png?width=1200)
![](https://assets.st-note.com/img/1680156603642-u5PaY9M948.png?width=1200)
ただし、
ナビゲーションコントローラの配下ではなくなるので、
ナビゲーションアイテムが消える点に気をつけないとね〜〜〜
なので、
![](https://assets.st-note.com/img/1680156790572-gXcYoOTK8y.png?width=1200)
本題を進めまする〜〜〜〜🕺
本題
⒈新規ビューにコンテナビューをふたつ配置
![](https://assets.st-note.com/img/1680157128233-JAHXpfkc4r.png?width=1200)
![](https://assets.st-note.com/img/1680157153800-wSCDmKlZPb.png?width=1200)
![](https://assets.st-note.com/img/1680157179673-XnNZW9uHXR.png?width=1200)
![](https://assets.st-note.com/img/1680157224161-KnVfFTmAAb.png?width=1200)
![](https://assets.st-note.com/img/1680157264619-jDK4fhtmaq.png?width=1200)
⒉タブバーを配置
![](https://assets.st-note.com/img/1680157599821-etv4kuZFoF.png?width=1200)
⒊タブバーとコンテナビューをアウトレット接続
![](https://assets.st-note.com/img/1680157831302-YlLlehjbEU.png?width=1200)
![](https://assets.st-note.com/img/1680157847681-iMMnABfRkw.png?width=1200)
![](https://assets.st-note.com/img/1680157979108-FKa0EbP2rt.png?width=1200)
![](https://assets.st-note.com/img/1680157992495-ucdYu7tdVj.png?width=1200)
![](https://assets.st-note.com/img/1680158005176-owfCM3FbAN.png?width=1200)
⒋画面の変化がわかるようにイメージをセット
![](https://assets.st-note.com/img/1680158422289-I40ZnYtW6T.png?width=1200)
⒌コード組み込み
//
// ViewController.swift
//
import UIKit
class ViewController: UIViewController, UITabBarDelegate {
@IBOutlet weak var testView1: UIView!
@IBOutlet weak var testView2: UIView!
@IBOutlet weak var testTabBar: UITabBar!
//最初からあるメソッド
override func viewDidLoad() {
super.viewDidLoad()
//昼画面のみ表示にする。
testView1.hidden = false
testView2.hidden = true
//デリゲート先を自分に設定する。
testTabBar.delegate = self
}
//ボタン押下時の呼び出しメソッド
func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem){
switch item.tag {
case 1:
//昼画面を表示する。
testView1.hidden = false
testView2.hidden = true
case 2:
//夕方画面を表示する。
testView1.hidden = true
testView2.hidden = false
default:
return
}
}
}
を参考に〜〜〜書き換え〜〜〜👀
class TabBarStandardViewController: UIViewController, UITabBarDelegate {
@IBOutlet weak var myTabbar: UITabBar!
@IBOutlet weak var myContainer1: UIView!
@IBOutlet weak var myContainer2: UIView!
//最初からあるメソッド
override func viewDidLoad() {
super.viewDidLoad()
//昼画面のみ表示にする。
myContainer1.isHidden = false
myContainer2.isHidden = true
//デリゲート先を自分に設定する。
myTabbar.delegate = self
}
//ボタン押下時の呼び出しメソッド
@objc func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem){
switch item.tag {
case 1:
//昼画面を表示する。
myContainer1.isHidden = false
myContainer2.isHidden = true
case 2:
//夕方画面を表示する。
myContainer1.isHidden = true
myContainer2.isHidden = false
default:
return
}
}
}
⒍設定項目のtagの数字を設定し忘れていたので、設定
![](https://assets.st-note.com/img/1680158831785-BZ3IVVBW9u.png)
![](https://assets.st-note.com/img/1680158842744-R5ZRjFdrYd.png)
★0と1だとダメなので確実に〜〜〜〜🕺
⒎シミュレータで実行
![](https://assets.st-note.com/img/1680158760717-TxSEpKtC9V.png?width=1200)
![](https://assets.st-note.com/img/1680158910977-9BLrnzbYDR.png?width=1200)
ハイ、完了💃
記事の内容については以上🕺
ブラッシュアップ
AutoLayout~~~~
![](https://assets.st-note.com/img/1680159022439-1bXqdhjtD6.png?width=1200)
![](https://assets.st-note.com/img/1680159034288-aSYCOKA8vN.png?width=1200)
![](https://assets.st-note.com/img/1680159048537-KbK4QXziLB.png?width=1200)
![](https://assets.st-note.com/img/1680159088662-Xk2vyimiGj.png?width=1200)
後は、最近恒例の地球儀ボタン〜〜〜〜
![](https://assets.st-note.com/img/1680159201407-q4iHphTRKE.png?width=1200)
記事公開後、
![](https://assets.st-note.com/img/1680159539677-wzvhl8bUae.png?width=1200)
実機も問題なし🕺
Apple公式
さて、次回は
をレッツゴする🕺
今回でちょっと先に触れちゃったね〜〜〜👀