Как удалить анимацию UIBarButtonItem tintColor на iOS?
У меня есть анимация BarButtonItem здесь:
[UIView animateWithDuration:AnimDurationTintColorHint delay:0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse animations:^{
[view performSelector:@selector(setTintColor:) withObject:UIColor.blackColor];
} completion:^(BOOL finished) {
........
}];
поскольку UIBarButtonItem не имеет свойства слоя, я не могу использовать.layer removeAllAnimations, чтобы остановить назначенную бесконечную анимацию.
Как это убрать?
1 ответ
Вы должны взять leftBarButtonItem или rightBarButtonItem, а затем установить для включенного свойства UIBarButtonItem значение NO.
UIImage *img = [UIImage imageNamed:@"your image"];
UIButton *btnMenu = [UIButton buttonWithType:UIButtonTypeCustom];
btnMenu.frame = CGRectMake( 10, 0, img.size.width, img.size.height);
[btnMenu addTarget:self action:@selector(handleBack:) forControlEvents:UIControlEventTouchUpInside];
[btnMenu setImage:img forState:UIControlStateNormal];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:btnMenu];
self.navigationItem.leftBarButtonItem = backButton;
self.navigationItem.leftBarButtonItem.enabled = NO;