11

ストアと呼ばれるビューを持つアプリケーションがあります。このビューには、DetailViewをロードするボタンがあります。問題は、この詳細ビューがロード/表示されないことです。これは私が使用するコードです:

-(void)knop:(id)sender{
    categoryView = [[CategoryView alloc] init];
    //show detail view using buttonDetail...
    [self.navigationController pushViewController:categoryView animated:YES];
    [categoryView release];
    NSLog(@"Button is working");
}

「ボタンは機能しています」というログがログに記録されるため、pushViewController行もトリガーされます。

categoryViewは私の.hファイルで作成されます:

 CategoryView IBOutlet *categoryView;
}
@property (nonatomic, retain) IBOutlet CategoryView *categoryView;

store.xibには、categoryViewアウトレットにリンクされたアウトレットを持つUIViewControllerがあります。

私のアプリの他の場所でこれは機能していますが、なぜこれが機能しないのかわかりません

どんな助けでもいただければ幸いです!THNX

4

4 に答える 4

12

AppDelegateでUINavigationControllerを割り当てましたか?

@インターフェース

@property (nonatomic, retain) IBOutlet RootViewController *rootViewController;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

@implementation didFinishLaunchingWithOptions

rootViewController = [[RootViewController alloc] initWithNibName:@"RootView" bundle:nil];
navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

[window addSubview:navigationController.view];
[self.window makeKeyAndVisible];

pushViewControllerは、アプリ全体で正常に機能します。

于 2011-07-06T13:48:07.717 に答える
10

のように聞こえます

NSLog(@"nav controller = %@", self.navigationController); 

NavigationControllerがnilであることを示します。

ナビゲーションタイプの新しいプロジェクトを作成し、これをどのように設定するかを確認することをお勧めします。

于 2011-07-06T12:30:41.517 に答える
3

私はそれを見つけた。タブバーベースのアプリを使用していたため、ストアタブをNavigationControllerに変更する必要がありました。私がそれを変えたとき、それはうまくいきました!たくさんのご支援ありがとうございます!!!

于 2011-07-06T20:27:26.050 に答える
1

ビューがペン先ベースの場合は、次を使用する必要があります。

categoryView = [[CategoryView alloc] initWithNibName:nibName bundle:nibBundle];

お役に立てれば。

于 2011-07-06T13:12:19.297 に答える