3

そのため、Three20TTLauncherViewの実装に問題があります。私はフォークではなく彼らのコードを使用しています(rodmazのバージョンについて聞いたことがありますが)、そしてそれを正しく動作させることができません。これは私のアプリがどのように見えるかです。

代替テキストhttp://img709.imageshack.us/img709/8792/screenshot20100715at409.png

アイコン画像を削除しましたが、問題ありません。問題は、上部にナビゲーションバーがまったくないことです。また、下部に白い帯があり、ナビゲーションバーと同じ寸法になっているように見えると思います。私は彼らのコードをかなり長い間調べてきましたが、これをまったく理解できません。ナビゲーションバー(カタログサンプルアプリに表示されている)は、TTTableViewControllerまたはそれより上にあるものに由来しているように見えます。ただし、私のアプリはFacebookアプリと同じように起動し、テーブルではなくTTLauncherViewで起動します。だから...「AppDelegate->TTLauncherViewSubclass」になったら、ナビゲーションバーをTTLauncherビューに入れるにはどうすればよいですか?

ご協力いただきありがとうございます!

編集:

使用したコードを追加しました。これをアプリデリゲートに入れて、最初のビューをUINavigation Controllerでラップすると、思いどおりに機能しました。

MainViewController *aController = [[MainViewController alloc] initWithNibName:nil bundle:nil]; //my Main view
self.mainViewController = aController;
[aController release]; //release for Memory Management
self.mainViewController.view.frame = [UIScreen mainScreen].applicationFrame;

UINavigationController *navigationController = [[UINavigationController alloc] init];
[navigationController pushViewController:self.mainViewController animated:NO]; //Gets the main view on the screen

[window addSubview:navigationController.view];
4

1 に答える 1

2

新しいビューをプッシュする前に、ナビゲーションバーでビューをラップするだけです。例として、これが私のコードのスニペットで、ナビゲーションバーを備えたモーダルビューコントローラーを示しています。

- (IBAction) showNewNavView: (id) sender 
{

    // Present it as a modal view and wrap the controller in a navigation controller to provide a navigation bar for the Edit and Save buttons
    ModalViewController *addController = [[ModalViewController alloc] initWithNibName:@"ModalViewController" bundle:nil];
    addController.delegate = self;

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];
    navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

    [self presentModalViewController:navigationController animated:YES];

    [navigationController release];
    [addController release];

}

ボタンを追加したり、ボタンのタイトルを設定したりするviewDidLoad場合は、押しているビューのメソッド(つまり、TTLauncherビュー)でそれを行う必要があります。

于 2010-07-15T22:19:58.050 に答える