2011-08-11 14 views
1

私はXcodeでアプリを書く方法を学んでいます。私は本を​​使って私を案内しています。残念ながら、この本はXcode 3のガイドで書かれており、Xcode 4を使用しています。この単純な表示切り替えプロジェクトはなぜ機能しませんか?

これまでのところ問題はありませんでしたが、このプロジェクトはうまくいかず、それはかなり良い意味があるように思われるからです。

プロジェクトの目標は、ビューコントローラを使用して3つのビューを切り替えることです。

誰もが見て、私が間違って何を参照してくださいできませんでしたか? http://www.2shared.com/file/CKO6ACzg/MultipleViews.html

PS:ここ

は、プロジェクト全体で、私はそれが今のように景色が互いにオフ上に、あなたは新しいボタンをクリックすると、ビューがクリアされていないことを積み重ねることになることを知っています。

答えて

0

MultipleViewsViewController.hは次のようになります。

#import <UIKit/UIKit.h> 

@class FirstViewController; 
@class SecondViewController; 
@class ThirdViewController; 

@interface MultipleViewsViewController : UIViewController { 


    IBOutlet FirstViewController *firstViewController; 
    IBOutlet SecondViewController *secondViewController; 
    IBOutlet ThirdViewController *thirdViewController; 

} 

//@property (nonatomic, retain) FirstViewController *firstViewController; 
//@property (nonatomic, retain) SecondViewController *secondViewController; 
//@property (nonatomic, retain) ThirdViewController *thirdViewController; 

-(IBAction)loadFirstView:(id)sender; 
-(IBAction)loadSecondView:(id)sender; 
-(IBAction)loadThirdView:(id)sender; 

@end 

MultipleViewsViewController.mは次のようになります。

#import "MultipleViewsViewController.h" 

#import "FirstViewController.h" 
#import "SecondViewController.h" 
#import "ThirdViewController.h" 

@implementation MultipleViewsViewController 

//@synthesize firstViewController; 
//@synthesize secondViewController; 
//@synthesize thirdViewController; 

-(IBAction)loadFirstView:(id)sender{ 
    [secondViewController.view removeFromSuperview]; 
    [thirdViewController.view removeFromSuperview]; 

    [self.view insertSubview:firstViewController.view atIndex:0]; 

} 

-(IBAction)loadSecondView:(id)sender{ 
    [firstViewController.view removeFromSuperview]; 
    [thirdViewController.view removeFromSuperview]; 
    [self.view insertSubview:secondViewController.view atIndex:0]; 

} 

-(IBAction)loadThirdView:(id)sender{ 
    [firstViewController.view removeFromSuperview]; 
    [secondViewController.view removeFromSuperview]; 
    [self.view insertSubview:thirdViewController.view atIndex:0]; 

} 

-(void)dealloc{ 

    [firstViewController release]; 
    [secondViewController release]; 
    [thirdViewController release]; 

    [super dealloc]; 

} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Release any cached data, images, etc that aren't in use. 
} 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
    firstViewController = [[FirstViewController alloc] init]; 
    secondViewController = [[SecondViewController alloc] init]; 
    thirdViewController = [[ThirdViewController alloc] init]; 
    [self loadFirstView:nil]; 

    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

あなたも問題になる可能性がありますあなたのプロジェクトに行っていない、あなたのボタンを(接続します)あなたは終わった。

関連する問題