0

私は SplitViewController が初めてで、次の問題に直面しています。セットアップは次のとおりです。

IB では、詳細 VC として SVC にリンクされた VC しかありません (これは、詳細階層の開始点として Nav コントローラーを持つ標準のマスター詳細プロジェクト テンプレートと比較します)。詳細VCの画像スペースを最大化するためにこれを行っています。

次に、詳細 VC クラスに IBoutlet で接続する詳細 VC に UIToolbar (imageTable と呼ばれる) を追加します。

詳細 VC を SVC デリゲートとして使用しています。

次に、詳細 VC で次の SVC デリゲート 3 メソッドを採用します。

#pragma mark - SplitViewController Delegates
-(BOOL) splitViewController:(UISplitViewController *)svc
   shouldHideViewController:(UIViewController *)vc
             inOrientation:(UIInterfaceOrientation)orientation
{
  return UIInterfaceOrientationIsPortrait(orientation); 
}



-(void) splitViewController:(UISplitViewController *)svc
     willHideViewController:(UIViewController *)aViewController
         withBarButtonItem:(UIBarButtonItem *)barButtonItem
      forPopoverController:(UIPopoverController *)pc
{    
  barButtonItem.title=@"ImageList";
  NSMutableArray *toolbarItems=[self.imageTable.items mutableCopy];
  [toolbarItems insertObject:barButtonItem atIndex:0];
  self.imageTable.items=toolbarItems;
}



-(void) splitViewController:(UISplitViewController *)svc
     willShowViewController:(UIViewController *)aViewController
  invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
{
  NSMutableArray *toolbarItems=[self.imageTable.items mutableCopy];
  [toolbarItems removeObjectAtIndex:0];
  self.imageTable.items=toolbarItems;
}

VC の開始点としてナビ コントローラーを使用していないため、次のような問題が発生しています。

  • 横向きに戻すと、UIToolBar は自動的に消えます。再表示する VC を表す UIBarbuttonItem がランドスケープで不要になったため、SVC クラスに固有のものであり、私が作成した UIToolbar (「I」を強調)...

  • UIToolbar にタイトルを追加または有効にする方法はありますか、またはラベルを使用する唯一の方法です。

ありがとう

4

2 に答える 2

0

私のアップルのMultipleDetailViewsサンプルコードをチェックしてください。彼らは(最初のView Controllerで)コードでUIToolBarを作成します。

@property (nonatomic, retain) IBOutlet UIToolbar *toolBar;

次に、他のビューのUINavigationBarsを宣言します

@property (nonatomic, retain) IBOutlet UINavigationBar *navigationBar;

このサンプルコードをプロジェクトの開始点として使用しましたが、すべてがスムーズに機能しています。

また、Objective-Cを初めて使用するかどうかはわかりませんが、MultipleDetailViewsサンプルコードの使用に関するこのチュートリアルを確認することをお勧めします。

于 2012-07-11T15:48:52.660 に答える
0

私はCS193Pクラスで少し前進してきましたが、簡単な答えは次のとおりです。

UIToolbar(ボタンやタイトルを追加するため)が必要な場合は、テーブルビューコントローラーまたは作業中のビューコントローラーをナビゲーションコントローラーに埋め込むだけです。これにより、無料のUIToolbarを入手できます(簡単にアクセスできます)。タイトルなど)

プッシュ/ポップまたはセグエする必要がない場合でも、それを行います。

KMB

于 2012-07-17T21:43:17.783 に答える