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秒間、または[スキップ]ボタンに触れるまで表示されます。