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

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

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

コンテンツの上下左右に参照用のメニューを設けることで、複数の要素やページの表示を可能にするユーザーインターフェイスパターンのこと。メニューをクリックすると、一つの要素が可視化され、他の要素は見えなくなる。

Xcode

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

Swift

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

Q&A

解決済

2回答

1735閲覧

タブバーのタイトルに個別に名前を振り当てる方法について

samson66

総合スコア35

タブ

コンテンツの上下左右に参照用のメニューを設けることで、複数の要素やページの表示を可能にするユーザーインターフェイスパターンのこと。メニューをクリックすると、一つの要素が可視化され、他の要素は見えなくなる。

Xcode

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

Swift

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

0グッド

0クリップ

投稿2019/08/22 16:32

編集2019/08/24 08:29

Xcode10.1/Swift4.2

Swift

1 //Barの部分に表示するタイトルを設定 2 func barItem(for bar: TMBar, at index: Int) -> TMBarItemable { 3 return TMBarItem(title: "Page (index+1)") 4 }

シミュレーター実行画面(5つのViewControllerをセットしているので5ページ分が反映)
イメージ説明

やりたいこと
タブバーに表示しているタイトルを個別に設定したい

困っていること
タブバーを実装する為に用意されたTabmanと呼ばれるモジュールで開発をしているのですが、
以下の公式のドキュメントを読んでも個別にタイトルを設定する方法がわからない状態で躓いていますm(_ _)m

全体公式ドキュメント
https://uias.github.io/Tabman/master/index.html
タイトルに関わるドキュメント
https://uias.github.io/Tabman/master/Classes/TMBarItem.html

追記 うまく実行できました!
イメージ説明

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

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

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

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

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

takabosoft

2019/08/23 01:40

見た感じ個別に設定されているように見えますが、何がわからないのでしょう?
samson66

2019/08/23 02:45

わかりづらくてすみませんm(_ _)m 現在はindexを最後に付け足して「Page」という一つの文字列を5つ分再利用している形ですが、 return TMBarItem(title: "Page \(index+1)") 例えばMainPage,MenuPage,WebPage,TextPage,SettingPage,など5個のバラバラな文字列を反映させる場合の方法がわからない状態です。 備考: 古いversionでは以下の方法でviewDidLoad内に直接設定できていたみたいですが // ページングメニューに表示する項目 bar.items = [ Item(title: "Table View"), Item(title: "Text View"), Item(title: "Web View") ] 最新のversionだと以下の方法でしか設定できません // Barの部分に表示するタイトルを設定 func barItem(for bar: TMBar, at index: Int) -> TMBarItemable { return TMBarItem(title: "文字列") }
guest

回答2

0

ベストアンサー

状況が理解できました。

最新のversionだと以下の方法でしか設定できません

// Barの部分に表示するタイトルを設定
func barItem(for bar: TMBar, at index: Int) -> TMBarItemable {
return TMBarItem(title: "文字列")
}

ようはindexの値によって文字列を変えれば良いわけですよね。

switchで分岐してもいいですし

swift

1func barItem(for bar: TMBar, at index: Int) -> TMBarItemable { 2 switch index { 3 case 0: 4 return TMBarItem(title: "MainPage") 5 case 1: 6 return TMBarItem(title: "MenuPage") 7 .... 8 default: 9 return TMBarItem(title: "???") 10 } 11}

配列に突っ込んでおいて要素を参照するでもいいです。

swift

1func barItem(for bar: TMBar, at index: Int) -> TMBarItemable { 2 let titles = ["MainPage", "MenuPage" ,"WebPage", "TextPage", "SettingPage"] 3 return TMBarItem(title: titles[index]) 4}

投稿2019/08/23 05:12

takabosoft

総合スコア8356

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

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

samson66

2019/08/24 08:32

配列に組み込んでindexで取り出せば良かったのですね! indexにまだ不慣れで具体的な書き方がわかりませんでした。 次回以降はindexが出てきたらindexからアプローチする方法を試してみますm(_ _)m
guest

0

投稿2019/08/22 19:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

samson66

2019/08/23 03:04

URL、ありがとうございますm(_ _)m 載っている内容が少し古いversionのようで Cannot assign to property: 'items' setter is inaccessibleとエラーが出ました。 また func viewControllers(forPageboyViewController pageboyViewController: PageboyViewController) -> [UIViewController]? { } func defaultPageIndex(forPageboyViewController pageboyViewController: PageboyViewController) -> PageboyViewController.PageIndex? { } も現在は使われていないみたいです。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問