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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

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

Q&A

解決済

1回答

1935閲覧

Navigation Barが透過してしまう

rea_sna

総合スコア32

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

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

0グッド

0クリップ

投稿2022/01/08 15:53

#発生している問題
TabBar Controller + Navigation Controller + ViewControllerとしたときにViewControllerのNavigationBarが透過してしまいます。

TabBarはTabBar ControllerでbackgroundColorを.systemBackgroundにしたら透過しなくなったのですが、(下記図のオレンジ枠部分)
Navigation BarのBackgroundColorをNavigation Controllerで.systemBackgroundに変更しても、(下記図の紫枠部分)
ViewControllerの上の方が透過してしまいます。
イメージ説明

①Tab BarのbackgoundColorだけを変えたとき②Tab BarとNavigationBarのbackgroundColorを変えたとき
引用テキストイメージ説明
Mapsという文字が重なってしまっているMapsの部分だけbackgroundColorは変わったが、上のStatusBar部分が変わっていない

レイヤーごとに見た図
イメージ説明

ViewController

1@IBOutlet weak var googleView: UIView! 2 3 override func viewDidLoad() { 4 super.viewDidLoad() 5 6 setupMap() 7 8// ②のnavigationBarの色変更はStoryboard、コードで試したがいずれも同じ状態に 9 self.navigationController?.navigationBar.backgroundColor = .systemBackground 10 11 12 } 13 14 private func setupMap() { 15 var mapsView = GMSMapView() 16 let marker = GMSMarker() 17 let mapID = GMSMapID(identifier: "XXXXXXXXXXXXX") 18 let camera = GMSCameraPosition.camera(withLatitude: 35.66191723075172, longitude: 139.701969302349, zoom: 12.0) 19 20 mapsView = GMSMapView(frame: CGRect(x: 0, y: 0, width: googleView.bounds.width, height: googleView.bounds.height), 21 mapID: mapID, camera: camera) 22 23 mapsView.isMyLocationEnabled = true 24 mapsView.settings.myLocationButton = true 25 26 marker.position = CLLocationCoordinate2D(latitude: 35.66191723075172, longitude: 139.701969302349) 27 marker.title = "MIYASHITA PARK" 28 marker.snippet = "Shibuya Ward" 29 marker.map = mapsView 30 31 self.googleView.addSubview(mapsView) 32 }

環境

UIKit
macOS Monterey v12.1
Xcode v13.2.1 (13C100)

<使用ライブラリ>
Google Maps SDK for iOS (v6.0.1)

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

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

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

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

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

guest

回答1

0

自己解決

原因はわからないですが、StoryboardでNavigation Barを選択して、AppearanceのScrool Edgeにチェックを入れたところうまくいきました。(backgroundColorを変更するコードは削除しました)
![イメージ説明

投稿2022/01/09 14:34

編集2022/01/09 14:35
rea_sna

総合スコア32

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問