這裏基本上發生的是我向UIBarButtonItem添加一個自定義視圖,並且我需要將它旋轉45deg,如果旋轉90度或180度,則旋轉完美,但是當它90以下的物體會變形,45度時物體會消失。 以下是按鈕和動畫的片段。iOS UIImageView在旋轉後消失M_PI_4
UIImageView * menuImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"plus.png"]];
menuButton = [[UIBarButtonItem alloc] initWithCustomView:menuImage];
UITapGestureRecognizer * tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleMenuView:)];
[menuImage addGestureRecognizer:tap1];
[menuImage setUserInteractionEnabled:YES];
[menuImage.layer setShadowColor:[UIColor blackColor].CGColor];
[menuImage.layer setShadowOffset:CGSizeMake(ShadowSizeWidth, ShadowSizeHeight)];
[menuImage.layer setShadowOpacity:ShadowOpacity];
[menuImage.layer setShadowRadius:ShadowRadius];
[self.navigationItem setRightBarButtonItem:menuButton];
旋轉:
[UIView animateWithDuration:animationRotateButtonDuration delay:0.0f options:UIViewAnimationCurveLinear animations:^{
CGAffineTransform myTransform = CGAffineTransformMakeRotation(-M_PI_4);
UIBarButtonItem * currentItem = menuButton;
currentItem.customView.transform = myTransform;
}completion:^(BOOL finished){
}];
我也試圖旋轉欄按鈕項目的自定義視圖並運行到相同的事情。其他視圖通過M_PI_4旋轉就好了,所以我想知道這是否與UIBarButtonItem(?)有關。 –
UIBarButtonItem需要一個自定義視圖作爲背景,現在使這項工作的技巧是,我選擇的自定義視圖是一個UIImageView,它具有另一個UIImageView作爲子項,我不得不旋轉第二個UIImageView以使其工作。我認爲這與UIBarButtonItem是有關係的。 – Noob