4
  1. 下のUIToolbarにセグメント化されたコントロールを追加しようとしていますが、ストーリーボードにドラッグしようとすると、テーブルビューが置き換えられます。
  2. また、ツールバーにUIBarButtonを追加しようとすると、プロトタイプセルが押し下げられます...ビュー階層が間違っていますか?
  3. とにかくUIBarButtonアイテムを追加すると、シミュレーターでは、ナビゲーションコントロールインスペクターで設定したツールバーが黒透明ではありません。どうしたの?

ありがとう!

ここに画像の説明を入力してください ここに画像の説明を入力してください

4

4 に答える 4

7

Interface Builderを使用してツールバーにセグメント化されたコントロール要素を作成するには、次のヒントを使用できます。

1)ナビゲーションコントローラーでセグメント化されたコントロールバーボタンアイテムを作成します。

ナビゲーションコントローラーでセグメント化されたコントロールバーボタンアイテムを作成する

2)バーボタンアイテムをナビゲーションアイテムまでドラッグします

バーボタンアイテムをナビゲーションアイテムまでドラッグします

3)次に、次の構造を取得する必要があります

結果の構造

4)これで、セグメント化されたコントロールを選択して、そのプロパティを設定できます

セグメント化されたコントロールを選択して、そのプロパティを設定します

于 2013-04-08T20:20:14.420 に答える
3

1-プログラムで実行します。最初にフレームをUIToolbarに割り当てる必要があります。次に、フレームに要素を追加できます(segmentedControl)。UIBarButtonItems基本的に同じであるを使用することをお勧めします。

それを底に貼り付けるには、次のようにしてみてください。

#define SCREEN_FRAME [[UIScreen mainScreen] applicationFrame]

CGRect frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - 44, [[UIScreen mainScreen] bounds].size.width, 44);
UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:frame];
toolBar.frame = CGRectMake(0,self.view.frame.size.height-toolBar.frame.size.height,SCREEN_FRAME.size.width,toolBar.frame.size.height);

//Setting up the items

UIBarButtonItem *first = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"image.png"] style:UIBarButtonItemStylePlain target:self action:@selector(yourAction:)] autorelease]; 
UIBarButtonItem *second = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"image.png"] style:UIBarButtonItemStylePlain target:self action:@selector(yourAction:)] autorelease]; 

//Creating an array with the items
NSArray *items = [NSArray arrayWithObjects:first,second, nil];

//Assigning the array to the toolBar
[toolBar setItems: items];

次に、そのスタイルを設定できます

mytoolbar.barStyle = UIBarStyleBlack;

2-上記と同じ、フレーミング。

3-navigationControllerスタイルを黒に設定する必要があります。
使用self.navigationController.navigationBar.style = UIBarStyleBlack; 、またはIBでボタンを選択し、インスペクターから色合いまたはスタイルを任意に設定します。

この質問もチェックしてください

于 2012-06-17T16:57:28.463 に答える
1

ここのどこかにナビゲーションビューコントローラーがあると思います。独自のツールバーがありますが、非表示で空です。表示されているツールバーは、UIを編集できるようにするためのツールバーのシミュレーションにすぎません。

したがって、ストーリーボードでこれを行うには、セグメント化されたコントロールをシミュレートされたツールバーに追加せず、新しいツールバーを作成して、コントローラーで使用可能なビューのツリーに追加し(テーブルビューの兄弟として)、参照するIBOutletを作成します。それ。次に、viewDidLoadメソッドで、ツールバーの項目を、ViewControllerによってすでに作成されているツールバーに割り当てます。

この例では、View Controllerに(巧妙に)toolbarというプロパティを作成しました。

@property (nonatomic, retain) IBOutlet UIToolbar toolbar;

ビューコントローラの実装では、ツールバー項目を手動で割り当てます。

-(void)viewDidAppear:(BOOL)animated 
{
    [self setToolbarItems:self.toolbar.items animated:NO];
    [self.navigationController setToolbarHidden:NO animated:YES];
}

たとえば、呼び出し元のView Controllerで、View Controllerがポップされたときに、ツールバーを非表示にする必要があります。

-(void)viewWillAppear:(BOOL)animated
{
    [self.navigationController setToolbarHidden:YES animated:YES];
}

もちろん、あなたがそれを隠したいと仮定します。

于 2012-06-17T16:42:40.623 に答える
1

これを行うには、UISegmentedControllerをバーボタンアイテムに配置します。

UINavigationControllerウィンドウにツールバーを追加し、ViewController画面でこのツールバーの表示を有効にします。

バーボタンをViewController画面のツールバーにドラッグし、UISegmentedControllerをその中にドラッグします(ボタンのサイズを画面の全幅に変更します)

すべてを接続するには、Ctrlキーを押しながらUISegmentedControllerから対応する.hファイルにドラッグし、「参照元」から黄色のView Controllerアイコンに(同じ変数名を使用して)ドラッグしてから、「ValueChanged」から黄色のアイコンにドラッグします(新しい選択で呼び出すコントローラーのメソッドを選択します)。

これはすべて期待どおりに機能しているようです。(コントローラーでセグメントを選択して初期値を設定できない場合は、上記のように参照コンセントを接続していません。しばらくの間、困惑しました。)

于 2014-05-14T14:57:02.760 に答える