ナビゲーション バーの境界線を削除しようとしましたが、うまくいきませんでした。調べたところ、shadowImage と BackgroundImage を nil に設定するように言われているようですが、私のケースではうまくいきませんでした。
私のコード
self.navigationController?.navigationBar.barTintColor = UIColor(rgba: "#4a5866")
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage(named: "")
図:
ベストアンサー1
問題は次の 2 行にあります。
self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage(named: "")
名前のないイメージがないので、UIImage(named: "")
は を返しますnil
。つまり、デフォルトの動作が開始されます。
nil 以外の場合、デフォルトのシャドウ イメージの代わりに表示されるカスタム シャドウ イメージ。カスタム シャドウを表示するには、-setBackgroundImage:forBarMetrics: を使用してカスタム背景イメージも設定する必要があります (デフォルトの背景イメージが使用されている場合は、デフォルトのシャドウ イメージが使用されます)。
本当に空のイメージが必要なので、次のように初期化しますUIImage()
。
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()