0

いくつかの異なる(サブ)アプリを持つiPhoneアプリをプログラムしようとしています。理想的には、このアプリのメイン メニューの外観と動作を iPhone のアプリ メニューのようにする方法を知りたいのですが、わかりません。これを行うパッケージまたはライブラリを知っている人がいたら、教えてください。プラン B は、UIButtons を使用してモックすることです。ここで問題が発生します。

基本的に、新しいビューをプッシュするボタンを押すと、プッシュ メソッドが呼び出されますが、まだトップ ビューが表示されます。

アプリデリゲートには、次のようなものがあります。

AppViewController *viewController;
App1ViewController *app1ViewController;
UINavigationController *navController;

そして、didFinishLaunching メソッドでは、次のようになります。

viewController = [ [ AppViewController alloc ] initWithAppDelegate: self ];
app1ViewController = [ [App1ViewController alloc ] initWithAppDelegate: self ];
navController = [ [ UINavigationController alloc ] initWithRootViewController:viewController];
[ウィンドウ addSubview:viewController.view];

および2つの方法

-(void)app1{[ navController pushViewController: app1ViewController animation:YES ];}
-(void)back{[ navController popViewControllerAnimated:YES ];}

次に、AppViewController.hに2つのビューコントローラーがあります

@interface AppViewController : UIViewController {
UINavigationController *navController;
UIButton *appbtn1, *appbtn2, *appbtn3, *appbtn4;
}
-(id)initWithAppDelegate:(id)appDelegate;
@end
@interface App1ViewController : UIViewController {
UITextView *textView;
UINavigationController *navController;
}
-(id)initWithAppDelegate:(id)appDelegate;
@終わり

ビューコントローラーごとに loadView を定義します。ただし、app1 ボタンを押して app1 メソッドが呼び出されると、ビューがプッシュされたと表示されますが、ビューはボタン ビュー、つまりルート ビューのままです。ボタンをもう一度押すと、表示されていない app1view を再プッシュできないと表示されます。何か案は?それが役立つ場合は、完全なコードを投稿できます。

お時間をいただきありがとうございます。

4

1 に答える 1

0

気にしないでください、私はそのような間抜けです!!! 犯人は次のとおりです。

[ウィンドウaddSubview:viewController.view];

ウィンドウのサブビューにViewControllerを追加しました。代わりにnavControllerを追加する必要があります

[ウィンドウaddSubview:navController.view];

これで、ウィンドウのビューをプッシュおよびポップできるようになりました。笑

于 2010-05-03T18:06:20.383 に答える