2017-06-13 35 views
0

我添加bar按鈕項到導航項。iOS設置barbuttonitems導航項總是有動畫

但我發現我設置了動畫NO或YES,barbuttonitems總是從左至右有動畫。

如何取消設置條形按鈕項目的動畫。

我下面的代碼:

-(void)viewDidLoad{ 
... 
doneBtn = [[UIBarButtonItem alloc]  initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self  action:@selector(barbuttonDoen)]; 

... 
} 

- (void)keyboardWillShow:(NSNotification *)notification { 

// self.theMenu is using storyboard drag. 

[self.navigationItem setRightBarButtonItems:[[NSArray alloc] initWithObjects:doneBtn, self.theMenu animated:NO]; 

} 

非常感謝你。

+0

您需要設置正確欄按鈕的阿爾法不是s和右鍵。 – KKRocks

+0

如何設置右欄按鈕的alpha值以及alpha和animate的關係?謝謝 – dickfala

+0

,因爲如果您每次設置了右按鈕,那麼它都會是混亂的動畫,因此您需要設置alpha值。 – KKRocks

回答

0

您需要隱藏並通過alpha屬性顯示右鍵。

顯示

[self.navigationItem.rightBarButtonItem.customView setAlpha:1.0]; 

隱藏

[self.navigationItem.rightBarButtonItem.customView setAlpha:0.0]; 

動畫

[UIView animateWithDuration:0.2 animations:^{ 
      [self.navigationItem.rightBarButtonItem.customView setAlpha:1.0]; 
} 
+0

Hi @KKRocks。我嘗試設置[self.navigationItem.rightBarButtonItem.customView setAlpha:0.0]; [self.navigationItem setRightBarButtonItems:[[NSArray alloc] initWithObjects:doneBtn,self.theMenu animated:NO]; 但是,當我在keyboardWillShow上運行時,doneBtn和theMenu仍然顯示從左向右移動的動畫。我不知道爲什麼@@ – dickfala

+0

我不想在設置RightBarButtonItems時顯示動畫。 – dickfala

+0

在keyboardWillShow中仍然使用? self.navigationItem setRightBarButtonItems:[[NSArray alloc] initWithObjects:doneBtn,self.theMenu animated:NO]; – KKRocks