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

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

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

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

983閲覧

TabViewでタブバーのカスタマイズ、アプリのタブバーの実装について

CrazySora_JP

総合スコア18

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2022/06/30 15:09

編集2022/06/30 15:12

問題

Swift初心者です。
SwiftUIでアプリを作っているのですが、画面下部分のよくあるタブバーを実装するのに行き詰まっています。

実現したいこと

タブバーをカスタマイズしたいです。
デフォオルトだとアイコンやテキストが表示されるだけですが、背景をつけたりアイコンの大きさを調整したいです。

発生している問題・エラーメッセージ

tabviewを用いてタブバーを作成すると、アイコンは表示されるのですが背景を調整したり、アイコンの大きさを大きさを「frame」や「font」を設定しても変更することができません。

該当のソースコード

Swift

1struct ContentView: View { 2 var body: some View { 3 TabView { 4// First Page 5 Text("First Page") 6 .tabItem { 7 Image(systemName: "house") 8 } 9 10 11// Second Page 12 Text("Second Page") 13 .tabItem { 14 Image(systemName: "waveform.badge.plus") 15 } 16 17 18// Third Page 19 Text("Third Page") 20 .tabItem { 21 Image(systemName: "person.crop.circle") 22 } 23 } 24 } 25}

試したこと

TabItemに対して.frame や.font を設定
.overlayで重ねて表示し、その。overlayに対して同じく大きさを調整しようとしたが効きませんでした。

質問下手で申し訳ないです。
補足すべき情報などがありましたらお申し付けください。
swift三日目で、色々サンプルサイトなどをたくさん見たのですが、よく分かりませんでした。。。

調べた時に見たサイト

[SwiftUI]NeumorphicなカスタムTabbarを作成しました

SwiftUI 2.0 でカスタムタブビューを作ってみる

SwiftUIでMotion Tab Barを再現する(100行)

補足情報

Xcode Ver13.4.1

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

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

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

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

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

guest

回答1

0

ベストアンサー

.fontを使ってアイコンのサイズを変えるのはXcode12になって使えなくなってしまったみたいですね・・
(Xcode12で実現する方法は見つけられませんでした・・)
https://stackoverflow.com/questions/57779126/increase-size-of-tab-bar-item-icons-in-swiftui

背景画像を変更する方法はUITabBarAppearanceを使う方法がある(あった?)みたいなのですが、
手元の環境で試したところUITabBarControllerのviewDidAppearが呼び出されなくて、
2022年7月現在も使えるのかちょっとわかりませんでした・・
https://schwiftyui.com/swiftui/customizing-your-tabviews-bar-in-swiftui/

希望通りに実装するとしたらTabViewを使わずに、独自のビューを作るとかになるのでしょうか。
https://blckbirds.com/post/custom-tab-bar-in-swiftui/

業務でSwiftを使ったことがないので・・
バージョンアップの対応の大変さの実感がないのですが、
凝ったことをすると余計に苦しむことになるのでしょうか・・
どのような対応をしても同じくらいに苦しむのでしょうか・・
どちらにしてもSwiftは他の言語に比べて大変そうですよね。

投稿2022/07/01 03:38

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問