Ответ 1
использование:
UIView *view = [backItem valueForKey:@"view"];
view.transform = CGAffineTransformMakeScale(-1, 1);
Кто-нибудь знает, как преобразовать UIBarButtonItem?
Я пробовал это, но без результатов:( Он не работает на UIBarButtonItem и его пользовательском представлении.
[UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:5.0f]; CGAffineTransform myTransform = CGAffineTransformMakeRotation(M_PI_2); UIBarButtonItem * currentItem = [self.toolbarItems objectAtIndex:4]; currentItem.customView.transform = myTransform; [UIView commitAnimations];
Я подтверждаю, что преобразование работает с другими представлениями (я пытался с self.view).
Спасибо!
использование:
UIView *view = [backItem valueForKey:@"view"];
view.transform = CGAffineTransformMakeScale(-1, 1);
UIBarButtonItem не расширяет UIView, поэтому он не может быть преобразован напрямую. Вы можете добавить UIBarButtonItem, который хотите преобразовать в UIToolbar, преобразовать UIToolbar, а затем добавить панель инструментов в качестве пользовательского представления в другой UIBarButtonItem. Этот элемент затем можно установить в качестве элемента навигации или добавить в другой UIToolbar.
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(handleForwardItemTouch:)];
UIToolbar *backToolbar = [[[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 44, 44)] autorelease];
[backToolbar setTransform:CGAffineTransformMakeScale(-1, 1)];
UIBarButtonItem *backToolbarItem = [[[UIBarButtonItem alloc] initWithCustomView:backToolbar] autorelease];
self.navigationItem.rightBarButtonItem = backToolbarItem;