なぜ違うのか
それらは異なる場所に配置されることを意図しているため、それらは異なります。ツールバーは、2pxの黒いストロークが見栄えのする画面の下部に配置することを目的としています。
たとえば、メールアプリ(iPhone)を見ると、(半透明ではありませんが)ツールバーのストロークが2ピクセルで、検索バーのストロークが1ピクセルしかないことがわかります。また、それらがどのように配置されるのかがわかります。
- ナビゲーションバーの下の検索バー
- 画面下部のツールバー。
それらを変更する方法
どちらもエレガントな解決策ではありません、ごめんなさい。
自分でツールバーを描く
Core GraphicsまたはCAGradientLayerを使用して、ビュー全体を自分で描画できます。面倒ですが、好きなように見せることができます。
ストロークの上部をクリップします
ツールバーを43pxのビューに配置し、に設定clipsToBounds
できYES
ます。ストロークの最初のポイント/ピクセルにツールバーを配置する(0, -1)
と、クリップされて表示されなくなります。ツールバーは1ピクセル小さくなり(高さ= 43)、スーパービューの高さを44ピクセル、ツールバーの高さを45ピクセル((0、-1)のまま)にして、再び44ピクセルにする必要があります。これによりグラデーションがわずかに変化するため、最終結果には、ストロークの一番上のピクセルを削除するだけでなく、他の視覚効果があります。