@interface PageAppViewController : UIViewController<</span>UIPageViewControllerData
}
@property (strong, nonatomic) UIPageViewController *pageController;
@property (strong, nonatomic) NSArray *pageContent;
@end
#import "PageAppViewController.h"
#import "MoreViewController.h"
@interface PageAppViewController ()
@end
@implementation PageAppViewController
@synthesize pageContent=_pageContent;
@synthesize pageController=_pageController;
- (void)dealloc{
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
}
- (void)viewDidLoad
{
[self createContentPages];// 初始化所有数据
}
// 初始化所有数据
- (void) createContentPages {
Chapter %d
This is the page %d of content displayed using UIPageViewController in iOS 5.
" , i, i];
}
- (void)didReceiveMemoryWarning
{
}
// 得到相应的VC对象
- (MoreViewController *)viewControllerAtIndex:(NSUInteger)index {
}
// 根据数组元素值,得到下标值
- (NSUInteger)indexOfViewController:(MoreViewController *)viewController {
}
#pragma mark- UIPageViewControllerData
// 返回上一个ViewController对象
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeView
}
// 返回下一个ViewController对象
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewC
}
@end
MoreViewController.h
#import
@interface MoreViewController : UIViewController<</span>UIWebViewDelegate>{
}
@property (nonatomic, retain) UIWebView *myWebView;
@property (nonatomic, retain) id dataObject;
@end
#import "MoreViewController.h"
@implementation MoreViewController
@synthesize myWebView=_myWebView;
@synthesize dataObject=_dataObject;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
}
- (void)dealloc{
}
- (void) loadView{
}
- (void)viewDidLoad{
}
- (void) viewWillAppear:(BOOL)paramAnimated{
}
- (void) viewWillDisappear:(BOOL)paramAnimated{
}
@end
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeView
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewC
MoreViewController
[self createContentPages];// 初始化所有数据
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface PageViewController : UIPageViewController
@property (nonatomic,readwrite) NSInteger pageIndex;
@property (strong) AVAudioPlayer * avPlayer;
@end
#import "PageViewController.h"
#import "ImageViewController.h"
@interface PageViewController ()
@end
@implementation PageViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
//self.view.frame = CGRectMake(0, 0, 320, 440);
self.pageIndex=1;
UIViewController * initialViewController = [self viewControllerAtIndex:self.pageIndex];
NSArray * viewControllers = @[initialViewController];
[self setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];
self.dataSource = self;
//self.delegate = self;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController{
self.pageIndex--;
if (self.pageIndex<1) {
self.pageIndex=1;
return nil;
}else{
return [self viewControllerAtIndex:self.pageIndex];
}
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController{
self.pageIndex++;
if (self.pageIndex>9) {
self.pageIndex=9;
return nil;
} else {
return [self viewControllerAtIndex:self.pageIndex];
}
}
-(ImageViewController*)getImageViewControllerAtIndex:(NSUInteger)index{
NSString *pageId = [NSString stringWithFormat:@"page%i",index];
ImageViewController* viewController = [self.storyboard instantiateViewControllerWithIdentifier:pageId];
return viewController;
}
-(UIViewController *) viewControllerAtIndex:(NSUInteger)index {
UIViewController * viewController = [[UIViewController alloc] init];
NSString *imageToLoad =[NSString stringWithFormat:@"a%d.JPG", index];// [NSString stringWithFormat:@"%d_full.JPG", index];
UIImage *image = [UIImage imageNamed:imageToLoad];
UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
imageView.frame = CGRectMake(0, 0, 320, 440);
[viewController.view addSubview:imageView];
NSString *avToLoad = [NSString stringWithFormat:@"%d", index];
self.avPlayer = [self loadWav:avToLoad];
[self.avPlayer play];
return viewController;
}
- (AVAudioPlayer *)loadWav:(NSString *)filename {
NSURL * url = [[NSBundle mainBundle] URLForResource:filename withExtension:@"mp3"];
NSError * error;
AVAudioPlayer * player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (!player) {
NSLog(@"Error loading %@: %@", url, error.localizedDescription);
} else {
[player prepareToPlay];
}
// player.volume = 0.3;
// player.numberOfLoops = 2;
// player.currentTime = 3.0;
// NSUInteger channels = player.numberOfChannels;
// NSTimeInterval duration = player.duration;//获取采样的持续时间
// player.meteringEnabled = YES;//开启仪表计数功能
[player updateMeters];
return player;
}
@end