4

UIBarButtonItem の位置を設定するにはどうすればよいですか? 同様に、状態に応じて UIToolbar の一番右または一番左に設定したいと思います。

ありがとうございました。

4

2 に答える 2

18

UIToolbarUIBarButtonItemの位置を直接設定しないでください。代わりに、項目の順序を定義し、左右に柔軟なスペースを配置しました。

あなたができることは次のとおりです。

  • 配置する UIBarButtonItem を作成します (ボタン 1)。
  • UIBarButtonSystemItemFlexibleSpaceタイプ(ボタン 2)の UIBarButtonItem を作成します。
  • 左にボタンを配置したい場合は(ボタン1)と(ボタン2)で配列を作成し、setItems:animated:メソッドでUIToolbarに渡します。
  • ボタンを右側に配置したい場合は、(ボタン2)と(ボタン1)で配列を作成し、setItems:animated:メソッドでUIToolbarに渡します。
于 2010-04-24T19:44:38.440 に答える
3

お役に立てば幸いです...

UIToolbar* keyboardDoneButtonView = [[UIToolbar alloc] init];
[keyboardDoneButtonView sizeToFit];

UIBarButtonItem* PrevButton = [[UIBarButtonItem alloc]  initWithBarButtonSystemItem:105 target:nil  action:nil]; //<
UIBarButtonItem*  NextButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:106  target:nil action:nil]; //>
UIBarButtonItem* doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(doneClicked:)];

UIBarButtonItem* flexSpace = [[UIBarButtonItem alloc]  initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *fake = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil] ;

[keyboardDoneButtonView setItems:[NSArray arrayWithObjects: PrevButton,fake, NextButton,fake,flexSpace,fake,doneButton,nil] animated:YES];

リンクでは、バー ボタン アイテムのメソッドと引数 について説明しています https://developer.apple.com/library.....フェイクアイテムを使用して、ボタンの正確なピンチ位置を取得します...

于 2015-03-12T11:15:31.363 に答える