2013-09-22 4 views
0

Я пытаюсь добавить значок в панель навигации моего приложения iOS, точнее к кнопке Menu, которая запускает мое боковое меню. Я использую этот коддобавление значка уведомлений в панель навигации в 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]; 

как результат, значок получает отображается так:

the badge

теперь я пытался как изменения кадра и центра UIView значок, но , независимо от того, что я делаю, он будет придерживаться верхнего левого угла панели навигации. В настоящее время я не могу его переместить.

Любые предложения?

+0

Вы сохранили ссылку на него в 'ViewController', или как вы получили к нему доступ позже? –

+0

Извините, я скопировал старый код. Ред. В идеале я хотел бы переместить его в верхний правый угол кнопки меню. – Claus

+0

Вам нужно будет показать немного больше кода. –

ответ

0

Похоже, что ваш значок всегда находится на (0, 0) в навигационной панели.

Я предполагаю, что когда вы назначаете self.numberBadge, вы назначаете его переменной экземпляра с именем numberBadge, иначе вам пришлось бы использовать self.numberBadge.

Я хотел бы попробовать эти вещи:

  • создавая вид с рамкой не CGRectZero, но кадр, где вы хотите поместить значок. Иногда представления, созданные с нулевым фреймом, не вели себя так, как я ожидал.
  • попробуйте переместить центр значков после вызова addSubview, чтобы убедиться, что он не будет работать с вашим фреймом.

Если он по-прежнему не работает, можете ли вы попробовать добавить значок в простой UIView и проверить, работает ли он там?

+0

Вы абсолютно правы. Я переместил центр после добавления представления, и он сработал. Большое спасибо. – Claus

Смежные вопросы