1

戻るボタンのこの外観を実現しようとしています:

ここに画像の説明を入力

しかし、Photoshop で緑の色合いをどこでサンプリングしても、決して正しくはありません。例えば:

ここに画像の説明を入力

まったく同じ外観を実現する方法について何か提案はありますか?

4

3 に答える 3

2

ティントカラーはまさにティントです。iOS はその色をベースとして使用して、通常のナビゲーション バーのスタイルで見栄えの良いボタンを作成します。

ボタンの外観を色合いよりも正確に制御したい場合は、画像のセットを作成し、-setBackButtonBackgroundImage:forState:barMetrics:それらを使用することをお勧めします。アプリ内のすべてのバー ボタン アイテムにこの外観が必要な場合+[UIBarButtonItem appearance]は、特定のバー ボタン アイテムではなく、 でそのメソッドを使用します。

于 2013-05-15T23:21:54.920 に答える
1

のグラデーションを生成するためにBackBarButtonItem、iOS は次のことを行います。

  1. 指定した色合いを適用します
  2. 戻るボタンの上に透明なオーバーレイを適用します

iPhone で使用する retina-display オーバーレイは次のとおりです (これらはUIKit-Artwork-Extractorを使用して取得されました)。

デフォルトの戻るボタンのオーバーレイ

デフォルトの戻るボタンのオーバーレイ

押された戻るボタンのオーバーレイ

押された戻るボタンのオーバーレイ

残念ながら、iOS / UIBarButtonItem にこれらのオーバーレイを [戻る] ボタンにレンダリングしないように指示する方法はありません(これにより、デフォルトのナビゲーション バーとボタンがすべてのアプリでかなり一貫した外観になります)。

このオーバーレイを適用したくない場合 (両方の状態でボタンが暗くなります)、独自の戻るボタンの画像を作成する必要がdefaultあります。pressedportraitlandscaperetinanon-retina

Brent Royal-Gordonが回答で言及しているように、appearanceプロキシを使用してこれらの画像を適用UIBarButtonItemし、アプリ全体で使用することができます。たとえば、縦向きのデフォルトの背景画像の状態を次のように設定します。

UIImage *defaultBackImage = [UIImage imageNamed:@"My-Default-Back-Button"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:defaultBackImage forState: UIControlStateNormal barMetrics:UIBarMetricsDefault];
于 2013-05-16T01:00:24.610 に答える
0

ボタンの上に別の半透明の灰色のレイヤーが追加されているように見えます。今は確認できませんが、半透明のレイヤー効果を無効にする設定を探すか、別のボタン スタイル/状態を試してみます。

于 2013-05-15T23:16:23.663 に答える