Пользовательская навигацияПункт анимации - PullRequest
0 голосов
/ 26 мая 2011

Мне нужна пользовательская анимация для leftBarButtonItem:

 UIBarButtonItem *menuButton = [[UIBarButtonItem alloc]
                               initWithTitle:@"Menu" 
                               style:UIBarButtonItemStyleBordered 
                               target:self 
                               action:@selector(onMenuButtonTouch)];
viewController.navigationItem.leftBarButtonItem = menuButton;

Мой UINavigationController выдвигает и отображает представления с пользовательской анимацией, поэтому в leftBarButtonItem на данный момент нет анимации.

[self.navigationController pushViewController:myViewController animated:NO];
[UIView animateWithDuration:...

-

Сначала я изменил свойство, чтобы посмотреть, является ли оно анимированным, но оно не работает.Затем я попытался установить свойство до начала анимации, но это тоже не сработало.Это не требует абсолютно никакого эффекта.

Есть ли способ, например, анимировать что-то подобное?

self.navigationController.navigationItem.leftBarButtonItem.width = 10;

или

self.navigationController.navigationItem.leftBarButtonItem.customView.alpha = 0;

1 Ответ

2 голосов
/ 26 мая 2011

UIBarButtonItem s не являются подклассом UIView, поэтому вы не можете применять анимацию к ним, но customView является UIView объектом, поэтому вы можете анимировать его.

[UIView animateWithDuration:1.0
                 animations:^{
                     self.navigationItem.rightBarButtonItem.customView.alpha = 0;
                 }];
...