rightBarButtonItem.enabled удаляет мой пользовательский слой из панели навигации - PullRequest
0 голосов
/ 05 февраля 2011

Я настроил свою пользовательскую панель UINavigationBar для отображения пользовательского изображения (на самом деле я пересекаюсь с большим количеством изображений в NSTimer):

- (void) displayImage:(EGOImageView*)anImageView {
    CABasicAnimation *crossFade = [CABasicAnimation animationWithKeyPath:@"contents"];
    crossFade.duration = 0.5;
    crossFade.fromValue = self.layer.contents;
    crossFade.toValue = (id)[self imageFromView:anImageView].CGImage;
    [self.layer addAnimation:crossFade forKey:@"animateContents"];
    self.layer.contents = (id)[self imageFromView:anImageView].CGImage;
}

Как запретить навигационной панели потерять свой пользовательский слой при включении или отключении barButtonItem? Моя панель навигации возвращается в состояние по умолчанию после выполнения следующей строки в моем VC:

self.navigationItem.rightBarButtonItem.enabled = !editing;

(возвращается к UIBarStyleBlackOpaque, который я установил в viewDidLoad VC)

1 Ответ

1 голос
/ 05 февраля 2011

Когда я работал над пользовательским NavBar, я нашел это полезным Как приложения для iPhone Instagram / Reeder / DailyBooth реализуют пользовательские панели навигации с кнопками назад переменной ширины?

В нем рассказывается, как создать пользовательский NavBar, а затем рассказывается о прошлом посте, о создании пользовательской кнопки «Назад». Это полный пост, который можно найти здесь . Я лично нашел это полезным в моем текущем проекте. Надеемся, что это либо объяснит, почему это происходит для вашего метода, либо даст вам альтернативный метод для использования, если вы не можете найти решение для вашего текущего метода использования crossFade и NSTimer

...