0

iOS アプリのナビゲーション バー、より正確には、サイド メニューをトリガーするメニュー ボタンにバッジを追加しようとしています。私はこのコードを使用しています

// add badge to the menu button
if (!self.numberBadge) {
         self.numberBadge = [[MLPAccessoryBadgeEmboss alloc] initWithFrame:CGRectZero];
       }
          numberBadge.center = CGPointMake(30.0, 6);
          numberBadge.badgeMinimumSize = CGSizeMake(1.0, 1.0);
          numberBadge.backgroundColor = [UIColor redColor];
          numberBadge.shadowAlpha = 0.9;
          numberBadge.cornerRadius = 5.0f;
          numberBadge.strokeColor = [UIColor whiteColor];
          [self.navigationController.navigationBar addSubview:numberBadge];
          [numberBadge setTextWithIntegerValue:9]; 

その結果、バッジは次のように表示されます。

バッジ

フレームとバッジ uiview の中心の両方を変更しようとしましたが、何をしてもナビゲーション バーの左上隅に固定されます。現在、私がそれを移動することは不可能です。

助言がありますか?

4

1 に答える 1

0

バッジは常にナビゲーション バーの (0, 0) に配置されているようです。

self.numberBadge を割り当てるときは、numberBadge というインスタンス変数に割り当てていると思います。それ以外の場合は、代わりに self.numberBadge を使用する必要があります。

私はこれらのことを試します:

  • CGRectZero ではなく、バッジを配置するフレームでビューを作成します。フレーム 0 で作成されたビューが期待どおりに動作しないことがあります。
  • addSubview の呼び出しの後にバッジの中心を移動してみてください。フレームが台無しにならないようにするためです。

それでも機能しない場合は、バッジをプレーンな UIView に追加して、そこで機能するかどうかを確認できますか?

于 2013-09-22T17:30:07.863 に答える