タブ付きアプリケーションを(XCodeで)作成しようとしています。このアプリケーションは、タブの1つに「FourthViewController」を表示するために使用されるUINavigationControllerを格納し、その「FourthViewController」内でボタンが押されると、新しい「 SlideViewController」がUINavigationControllerにプッシュされます(おい!)。UINavigationControllerがFourthViewControllerまたはSlideViewController内から新しいViewControllerをプッシュする方法を理解するのに問題があります。私がしていることをより明確にするために、フローチャートといくつかのコードを含めています。(そして、記録のために、それはレストランのためのアプリです、それが「shrimpquesadilla.jpg」のような名前がある理由です。)
以下はフローチャートへのリンクです、私はそれを投稿に埋め込むのに十分な評判がありません:http: //i.imgur.com/lZVdn.jpg
DemoTabbedAppDelegate.h
@interface DemoTabbedAppDelegate : UIResponder <UIApplicationDelegate,
UITabBarControllerDelegate>
{
UINavigationController *globalUINavigationController;
}
... //other syntheses
@synthesize globalUINavigationController;
DemoTabbedAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
(NSDictionary *)LaunchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
... /creating the first three tab ViewControllers
globalUINavigationController = [[UINavigationController alloc] initWithNibName:
@"DemoTabbedFourthViewController" bundle:nil];
... //setting last tab title and image
UIViewController *viewController4 = [[DemoTabbedFourthViewController alloc]
initWithNibName:@"DemoTabbedFourthViewController" bundle:nil];
[globalUINavigationController pushViewController:viewController4 animated:YES];
... //Starting the TabBarController and making it the rootViewController
}
DemoTabbedFourthView.m
//initialization and all that junk
- (void)goToSlide:(UIImage *)image
{
DemoTabbedSlideViewController *d = [[DemoTabbedSlideViewController alloc]
initWithImage:image];
[globalUINavigationController pushViewController:d animated:YES];
NSLog(@"test");
//what goes here to call push on the UINavigationController?
}
- (void)clickQuesadilla:(id)sender
{
[self goToSlide:[UIImage imageNamed:@"shrimpquesadilla.jpg"]];
}
DemoTabbedSlideViewController
- (id)initWithImage:(UIImage *)image
{
self = [super init];
imageView = [[UIImageView alloc] initWithImage:image];
NSLog(@"test 2");
return self;
}
さらに詳しい情報が必要な場合はお知らせください。可能な限り明確にするよう努めました。お時間をいただきありがとうございます。