戻るボタンのこの外観を実現しようとしています:
しかし、Photoshop で緑の色合いをどこでサンプリングしても、決して正しくはありません。例えば:
まったく同じ外観を実現する方法について何か提案はありますか?
戻るボタンのこの外観を実現しようとしています:
しかし、Photoshop で緑の色合いをどこでサンプリングしても、決して正しくはありません。例えば:
まったく同じ外観を実現する方法について何か提案はありますか?
ティントカラーはまさにティントです。iOS はその色をベースとして使用して、通常のナビゲーション バーのスタイルで見栄えの良いボタンを作成します。
ボタンの外観を色合いよりも正確に制御したい場合は、画像のセットを作成し、-setBackButtonBackgroundImage:forState:barMetrics:
それらを使用することをお勧めします。アプリ内のすべてのバー ボタン アイテムにこの外観が必要な場合+[UIBarButtonItem appearance]
は、特定のバー ボタン アイテムではなく、 でそのメソッドを使用します。
のグラデーションを生成するためにBackBarButtonItem
、iOS は次のことを行います。
iPhone で使用する retina-display オーバーレイは次のとおりです (これらはUIKit-Artwork-Extractorを使用して取得されました)。
デフォルトの戻るボタンのオーバーレイ
押された戻るボタンのオーバーレイ
残念ながら、iOS / UIBarButtonItem にこれらのオーバーレイを [戻る] ボタンにレンダリングしないように指示する方法はありません(これにより、デフォルトのナビゲーション バーとボタンがすべてのアプリでかなり一貫した外観になります)。
このオーバーレイを適用したくない場合 (両方の状態でボタンが暗くなります)、独自の戻るボタンの画像を作成する必要がdefault
あります。pressed
portrait
landscape
retina
non-retina
Brent Royal-Gordonが回答で言及しているように、appearance
プロキシを使用してこれらの画像を適用UIBarButtonItem
し、アプリ全体で使用することができます。たとえば、縦向きのデフォルトの背景画像の状態を次のように設定します。
UIImage *defaultBackImage = [UIImage imageNamed:@"My-Default-Back-Button"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:defaultBackImage forState: UIControlStateNormal barMetrics:UIBarMetricsDefault];
ボタンの上に別の半透明の灰色のレイヤーが追加されているように見えます。今は確認できませんが、半透明のレイヤー効果を無効にする設定を探すか、別のボタン スタイル/状態を試してみます。