2017-06-13 11 views
0

ナビゲーション項目にバーボタン項目を追加します。iOSでナビゲーション項目にbarbuttonitemsを設定すると常にアニメーションが表示されます

私はアニメーションのNOまたはYESを設定していますが、barbuttonitemは常に左から右にアニメーションしています。

バーのボタン項目を設定するときにアニメーションをキャンセルするにはどうすればよいですか?

以下の私のコード:

-(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

を表示します右のボタン。 – KKRocks

+0

どのように右のバーのボタンのアルファとリレーションアルファとアニメーションを設定するには?ありがとう – dickfala

+0

それはあなたがアルファを設定する必要があるので、それはジャークアニメーションになるたびに右のボタンを設定するため。 – KKRocks

答えて

0

alphaプロパティで右ボタンを非表示にして表示する必要があります。

は、あなたの代わりにSの右バーボタンのアルファを設定する必要が

[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

こんにちは@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

関連する問題