В объективе c я использовал сторонний чат sdk для создания программного обеспечения IM, у меня есть главный viewController и еще один чат viewController, а сторонний чат sdk имеет функция делегата, которая может проверить, получаю ли я сообщение или нет. Какая функция:Как сделать UANavigationItem справа на номер значка номер значка справа сразу после изменения номера
- (void)onRCIMReceiveMessage:(RCMessage *)message left:(int)left {}
В ViewController А, я в состоянии выполнить функцию выше. Поэтому в этой функции я
- (void)onRCIMReceiveMessage:(RCMessage *)message left:(int)left {
self.navigationItem.leftBarButtonItem.badgeValue = @"2";
[self.view setNeedsDisplay];
}
но проблема ViewController А не меняется вообще, только после того, как я нажимаю кнопку ViewController B и обратно она будет меняться, так как я могу обновить навигационную baritembutton в ViewController сам.
Да, жаль, что это просто опечатка, но до сих пор не работает – user2507194
Я предполагаю, что вы используете пользовательский пункт навигации, чтобы иметь 'свойство badgeValue'. Не могли бы вы поместить точку прерывания в свой метод 'drawRect' и проверить, вызвана ли она вызовом' [self.view setNeedsDisplay ]'. – Abhinav
@Abinav это не входит в эту функцию. – user2507194