1

次のようなナビゲーションバーがあります。

ここに画像の説明を入力

次のコードで作成されました。

//  AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
    NSShadow *textShadow = [[NSShadow alloc] init];
    textShadow.shadowBlurRadius = 5.0;
    textShadow.shadowColor = [UIColor colorWithWhite: 1.0 alpha: 0.75];
    textShadow.shadowOffset = CGSizeMake(0.0, 1.0);
    [[UIBarButtonItem appearance] setTitleTextAttributes: @{ NSShadowAttributeName: textShadow } forState: UIControlStateNormal];

    return YES;
}

質問

  1. shadowBlurRadius はどこにありますか (少なくとも [編集] ボタンの場合)。を設定していることに注意してくださいtextShadow.shadowBlurRadius = 5.0;。その値を上げても、何もしないようです。
  2. 「+」バー ボタン項目またはテキストではないその他のバー ボタン項目 (UIBarButtonSystemItemCamera など) に影を追加することは可能ですか? 独自のラスタライズされた画像を生成することは避けたいです。

この質問は iOS 7 のみに関するものです。

4

1 に答える 1

1

実際に影がレンダリングされてUIBarButonItemおり、「編集」バー ボタンの項目テキストに白い影が表示されます。より良い影の外観を使用したい場合はCGSizeMake、-1、1、0 の範囲内で値を試してみてください。

textShadow.shadowOffset = CGSizeMake(0.0, -1.0);

少しトリッキーですが、右のバー ボタン アイテムに影を追加するにはUIBarButton、タイトルを付けてナビゲーション アイテム+に割り当ててrightBarButtonください。左のバー ボタン アイテムに見られるように、影の効果が得られます。

ほんまに助かる。

于 2013-12-07T12:16:47.190 に答える