0

default.png3秒間スリープしてからロードされるプロジェクトを作成しました。ロードする前にMainWindow.xib、新しいプロジェクトを作成したいと思いました。10秒間読み込まれ、スキップボタンがあるIntroPageにテキストを入れたかったのです。すでに作成しましたが、ロードしたいと思います。IntroPageViewController.xibFirstPageViewController.xibFirstPageViewController.xibIntroPageViewController.xibapplicationdidfinishlaunching

と.mに変更を加えようとしましたFirstPageAppDelegate.hが、それでもFirstPageViewController.xibロードがあり、ロードに変更を加えるとinfo.plistIntroPageViewController.xibアプリケーションIntroPageViewControllerがクラッシュします。助けが必要です。

事前にトンに感謝します:)

よろしく、コーダー

4

2 に答える 2

1

FirstPageViewController.xibの前にIntroPageViewController.xibを手動でロードする代わりに、次のことを試してください。

  • FirstPageが読み込まれたら、その上にIntroPageビューを表示します。
  • 遅延後、またはスキップボタンが押されたら、IntroPageを削除します。

方法は次のとおりです。

対応するxibファイルを使用してIntroPageViewControllerを作成します。
Xcodeで、ボタンとそのボタンのアクションメソッドを設定します。

// in your .h file.   

@interface IntroViewController : UIViewController {
    UIButton *skipButton;
}  

@property (nonatomic, retain) IBOutlet UIButton *skipButton;

-(IBAction)skipPressed;

@end  

// in the .m file  

-(IBAction)skipPressed {
    [self.view removeFromSuperview]; // this removes intro screen from the screen, leaving you FirstView
}

// put this in the viewDidLoad method
- (void)viewDidLoad {
    [super viewDidLoad];

    [self performSelector:@selector(skipPressed) withObject:nil afterDelay:5];
}

// add these in FirstViewController.m  

#import "IntroViewController.h"  

- (void)viewDidLoad {
    [super viewDidLoad];

    IntroViewController *introViewController = [[IntroViewController alloc] initWithNibName:@"IntroViewController" bundle:[NSBundle mainBundle]];
    [self.view addSubview:introViewController.view];
    [introViewController release]; // this removes your IntroScreen from memory once it disappears offscreen
}

次のステップは、Interface BuilderでIntroViewController.xibを開き、UIButtonをビューにドラッグし、タイトルを「スキップ」に設定することです。

ボタンをskipPressedアクションに接続し、ファイルの所有者をボタンに接続します。

Xcodeに戻り、ビルドして実行してテストします。すべてがうまくいけば、IntroViewは起動時に5秒間、または[スキップ]ボタンに触れるまで表示されます。

于 2010-03-02T22:16:07.830 に答える
0

nstimerを使用してタイマーを作成します。対応するアクションは、10秒後、またはスキップボタンが押されたときに実行されます。

于 2010-03-02T06:13:55.197 に答える