見出し画像

【徒然iOS】気ままにUIKit88〜Tab Bar Controller 複数画面と接続し、タブバーのボタンで画面を切り替える〜

概要

このマガジンは四十を過ぎたおっさんが、

を参考にStoryboardでiOSアプリを完全に趣味で楽しんでいるだけな記事を気ままに上げてます。

今回

をハイ、レッツゴ🕺

前準備

念の為、

  1. バックアップ

  2. ビューコントローラの追加

をやってから本題へ💃

ま、こんな感じかな🤔

本題

タブバーコントローラーとは、

複数画面と接続し、
UITabBarに並べられたボタンで画面の切り替えを行う部品

サイト記事から大分やり方が違うので、
前回少しやったけど、おさらいでもう一回🕺

⒈タブバーコントローラを追加

選んで〜〜〜
配置〜〜〜

⒉前準備で追加したビューと接続

セグエを繋ぐ感じで、Controlキーを押しながら、カーソルを引っ張ってきて
出てくるメニューでview controllerを選択
繋がった🕺
3個目として並べる

⒊見分けが付きやすいようにイメージをそれぞれセット

てな感じで

⒋シミュレータで実行

ハイ、完了💃
次いでに各ビューのタブ表示を変更👀
てな感じで変更できた🕺

ボタンにバッチを表示する

バッチとは、

未読や新着情報がある場合に、ユーザーに気づいてもらうためにボタンを目立たせるアクセサリー

てこと。

まあ要は、不在着信とかでアプリのアイコンに付くあれね👀

⒈コード組み込み

//
//  TestTabBarController.swift
//
import UIKit
class TestTabBarController: UITabBarController{
    //最初からあるメソッド
    override func viewDidLoad() {
        super.viewDidLoad()
        //夕方画面を初期選択にする。
        self.selectedIndex = 1
        //ボタンの個数ぶんループする。
        for item in tabBar.items! {
            if( item.tag != self.selectedIndex ) {
                //選択されていないボタンにバッチをつける。
                item.badgeValue = "1"
            }
        }
    }
    //ボタン押下時の呼び出しメソッド
    override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
        //バッチを消す。
        item.badgeValue = nil
    }
}

を参考に〜〜〜〜

今回のコード(バッヂ)

class MyTabBarController: UITabBarController{
    //最初からあるメソッド
    override func viewDidLoad() {
        super.viewDidLoad()
        //夕方画面を初期選択にする。
        self.selectedIndex = 1
        //ボタンの個数ぶんループする。
        for item in tabBar.items! {
            if( item.tag != self.selectedIndex ) {
                //選択されていないボタンにバッチをつける。
                item.badgeValue = "1"
            }
        }
    }
    //ボタン押下時の呼び出しメソッド
    override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
        //バッチを消す。
        item.badgeValue = nil
    }
}

に書き換えて〜〜〜

⒉コントローラにクラス適用

てきよ〜〜〜〜

⒊シミュレータで実行

バッヂが表示されたので〜〜〜
タップすると、切り替わって〜〜〜
ハイ、消えた🕺

サイト記事の内容は以上💃

ブラッシュアップ

さて、今回も地球儀マークを〜〜〜

実はココな🕺
てな感じで適用したクラス自体にアクション接続〜〜〜
てな感じでリンク先の引数名を書き換えて〜〜〜
後は、記事公開後に、linksファイルにある対象引数名のURLを書き換えるだけ〜〜〜

記事公開後、

ハイ、完了💃
実機も問題なし🕺

Apple公式

さて、次回は

をレッツゴする🕺

タブもあとひとつだね〜〜〜〜👀

いいなと思ったら応援しよう!