Rotate UIBarButtonItem

I want to turn UIBarButtonItem.

I was able to do this using UIButtonwith setTransform:CGAffineTransformMakeRotation(…), but UIBarButtonItemdoes not have this property.

I know that the Camera app does this, so it needs to be achieved.
How can i achieve this?

Thank.

+3
source share
4 answers

Have you tried using a custom view inside the UIBarButtonItem, which then transforms the way you want?

+2
source

UIBarButtonItem UIView, . UIBarButtonItem, UIToolbar, UIToolbar, UIBarButtonItem. UIToolbar. , , Emil .

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;
+1

UIButton , UIButton.

+1

UIToolBar, , , , :

- (void)rotate: (int)degrees{
    //for the bar
    self.transform=CGAffineTransformMakeRotation(DegreesToRadian(degrees));
    //for the subviews (UIBarButtonItems)
    for (UIView * subView in self.subviews)
    {
        if(!CGRectEqualToRect(subView.bounds, self.bounds))
            subView.transform =   CGAffineTransformMakeRotation(DegreesToRadian(-degrees));
    }

} 
0

Source: https://habr.com/ru/post/1773422/


All Articles