Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在容器视图中逐个延迟加载视图控制器_Iphone - Fatal编程技术网

Iphone 在容器视图中逐个延迟加载视图控制器

Iphone 在容器视图中逐个延迟加载视图控制器,iphone,Iphone,像这样延迟加载多个视图控制器 -(void)playpauseAction:(id)sender { if([audioPlayer isPlaying]) { [sender setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected]; [audioPlayer pause]; [self pauseTimer]; [self pauseLayer:self.view.layer]; }else

像这样延迟加载多个视图控制器

-(void)playpauseAction:(id)sender {
if([audioPlayer isPlaying])
{
[sender setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected];
[audioPlayer pause];
[self pauseTimer];
[self pauseLayer:self.view.layer];
}else{
[sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
[audioPlayer play];
[self resumeTimer];
[self resumeLayer:self.view.layer];  
if(isFirstTime == YES)
  {
 self.timer = [NSTimer scheduledTimerWithTimeInterval:11.0
                                     target:self
                                     selector:@selector(displayviewsAction:)
                                     userInfo:nil
                                     repeats:NO];
        isFirstTime  = NO;
    }}}

- (void)displayviewsAction:(id)sender
  {  
   First *firstController = [[First alloc] init];
   firstController.view.frame = CGRectMake(0, 0, 320, 480);
   CATransition *transitionAnimation = [CATransition animation];   
    [transitionAnimation setDuration:1];
    [transitionAnimation setType:kCATransitionFade];    
    [transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];    
    [self.view.layer addAnimation:transitionAnimation forKey:kCATransitionFade];
    [self.view addSubview:firstController.view];
    [self.view addSubview:toolbar];
    [firstController release];   
    self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(Second) userInfo:nil repeats:NO];     
    }

   -(void)Second 
   {
Second *secondController = [[Second alloc] init];
secondController.view.frame = CGRectMake(0, 0, 320, 480);
CATransition *transitionAnimation = [CATransition animation];
[transitionAnimation setDuration:1];
[transitionAnimation setType:kCATransitionReveal];
[transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[self.view.layer addAnimation:transitionAnimation forKey:kCATransitionReveal];
[self.view addSubview:secondController.view]; 
[self.view addSubview:toolbar];
[secondController release];
self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(Third) userInfo:nil repeats:NO];
 }
   - (void)loadView
    {
// set up the base view
CGRect frame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:frame];
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
view.backgroundColor = [UIColor blueColor];

// set up content view a bit inset
frame = CGRectInset(view.bounds, 0, 100);
_containerView = [[UIView alloc] initWithFrame:frame];
_containerView.backgroundColor = [UIColor redColor];
_containerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[view addSubview:_containerView];}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

ContainerViewController *container = [[ContainerViewController alloc] init];    
self.window.rootViewController = container;


// make an array of 23 PageVCs
NSMutableArray *controllers = [NSMutableArray array];
   [controllers addObject:firstcontroller];
   [controllers addObject:secondcontroller];
   [controllers addObject:.....];
    [controllers addObject:twentythreecontroller];

for (int i=0; i<23; i++)
{
    First *firstController = [[First alloc] init];

[controllers addObject:firstcontroller, secondcontroller, .....,twentythreecontroller];
}

// set these as sub VCs
[container setSubViewControllers:controllers];

    [self.window makeKeyAndVisible];
    return YES;}
需求是添加一个容器视图并在containerview中加载所有视图控制器

因此,在load视图中可以像这样创建uiview和container视图

-(void)playpauseAction:(id)sender {
if([audioPlayer isPlaying])
{
[sender setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected];
[audioPlayer pause];
[self pauseTimer];
[self pauseLayer:self.view.layer];
}else{
[sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
[audioPlayer play];
[self resumeTimer];
[self resumeLayer:self.view.layer];  
if(isFirstTime == YES)
  {
 self.timer = [NSTimer scheduledTimerWithTimeInterval:11.0
                                     target:self
                                     selector:@selector(displayviewsAction:)
                                     userInfo:nil
                                     repeats:NO];
        isFirstTime  = NO;
    }}}

- (void)displayviewsAction:(id)sender
  {  
   First *firstController = [[First alloc] init];
   firstController.view.frame = CGRectMake(0, 0, 320, 480);
   CATransition *transitionAnimation = [CATransition animation];   
    [transitionAnimation setDuration:1];
    [transitionAnimation setType:kCATransitionFade];    
    [transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];    
    [self.view.layer addAnimation:transitionAnimation forKey:kCATransitionFade];
    [self.view addSubview:firstController.view];
    [self.view addSubview:toolbar];
    [firstController release];   
    self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(Second) userInfo:nil repeats:NO];     
    }

   -(void)Second 
   {
Second *secondController = [[Second alloc] init];
secondController.view.frame = CGRectMake(0, 0, 320, 480);
CATransition *transitionAnimation = [CATransition animation];
[transitionAnimation setDuration:1];
[transitionAnimation setType:kCATransitionReveal];
[transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[self.view.layer addAnimation:transitionAnimation forKey:kCATransitionReveal];
[self.view addSubview:secondController.view]; 
[self.view addSubview:toolbar];
[secondController release];
self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(Third) userInfo:nil repeats:NO];
 }
   - (void)loadView
    {
// set up the base view
CGRect frame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:frame];
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
view.backgroundColor = [UIColor blueColor];

// set up content view a bit inset
frame = CGRectInset(view.bounds, 0, 100);
_containerView = [[UIView alloc] initWithFrame:frame];
_containerView.backgroundColor = [UIColor redColor];
_containerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[view addSubview:_containerView];}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

ContainerViewController *container = [[ContainerViewController alloc] init];    
self.window.rootViewController = container;


// make an array of 23 PageVCs
NSMutableArray *controllers = [NSMutableArray array];
   [controllers addObject:firstcontroller];
   [controllers addObject:secondcontroller];
   [controllers addObject:.....];
    [controllers addObject:twentythreecontroller];

for (int i=0; i<23; i++)
{
    First *firstController = [[First alloc] init];

[controllers addObject:firstcontroller, secondcontroller, .....,twentythreecontroller];
}

// set these as sub VCs
[container setSubViewControllers:controllers];

    [self.window makeKeyAndVisible];
    return YES;}
在AppDelegate中,可以这样做

-(void)playpauseAction:(id)sender {
if([audioPlayer isPlaying])
{
[sender setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected];
[audioPlayer pause];
[self pauseTimer];
[self pauseLayer:self.view.layer];
}else{
[sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
[audioPlayer play];
[self resumeTimer];
[self resumeLayer:self.view.layer];  
if(isFirstTime == YES)
  {
 self.timer = [NSTimer scheduledTimerWithTimeInterval:11.0
                                     target:self
                                     selector:@selector(displayviewsAction:)
                                     userInfo:nil
                                     repeats:NO];
        isFirstTime  = NO;
    }}}

- (void)displayviewsAction:(id)sender
  {  
   First *firstController = [[First alloc] init];
   firstController.view.frame = CGRectMake(0, 0, 320, 480);
   CATransition *transitionAnimation = [CATransition animation];   
    [transitionAnimation setDuration:1];
    [transitionAnimation setType:kCATransitionFade];    
    [transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];    
    [self.view.layer addAnimation:transitionAnimation forKey:kCATransitionFade];
    [self.view addSubview:firstController.view];
    [self.view addSubview:toolbar];
    [firstController release];   
    self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(Second) userInfo:nil repeats:NO];     
    }

   -(void)Second 
   {
Second *secondController = [[Second alloc] init];
secondController.view.frame = CGRectMake(0, 0, 320, 480);
CATransition *transitionAnimation = [CATransition animation];
[transitionAnimation setDuration:1];
[transitionAnimation setType:kCATransitionReveal];
[transitionAnimation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[self.view.layer addAnimation:transitionAnimation forKey:kCATransitionReveal];
[self.view addSubview:secondController.view]; 
[self.view addSubview:toolbar];
[secondController release];
self.timer = [NSTimer scheduledTimerWithTimeInterval:27 target:self selector:@selector(Third) userInfo:nil repeats:NO];
 }
   - (void)loadView
    {
// set up the base view
CGRect frame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:frame];
view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
view.backgroundColor = [UIColor blueColor];

// set up content view a bit inset
frame = CGRectInset(view.bounds, 0, 100);
_containerView = [[UIView alloc] initWithFrame:frame];
_containerView.backgroundColor = [UIColor redColor];
_containerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[view addSubview:_containerView];}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

ContainerViewController *container = [[ContainerViewController alloc] init];    
self.window.rootViewController = container;


// make an array of 23 PageVCs
NSMutableArray *controllers = [NSMutableArray array];
   [controllers addObject:firstcontroller];
   [controllers addObject:secondcontroller];
   [controllers addObject:.....];
    [controllers addObject:twentythreecontroller];

for (int i=0; i<23; i++)
{
    First *firstController = [[First alloc] init];

[controllers addObject:firstcontroller, secondcontroller, .....,twentythreecontroller];
}

// set these as sub VCs
[container setSubViewControllers:controllers];

    [self.window makeKeyAndVisible];
    return YES;}
-(BOOL)应用程序:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项
{
self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
ContainerViewController*容器=[[ContainerViewController alloc]init];
self.window.rootViewController=容器;
//制作一个23页VCs的数组
NSMutableArray*控制器=[NSMutableArray];
[控制器添加对象:firstcontroller];
[控制器添加对象:第二控制器];
[控制器添加对象:…];
[控制器添加对象:twentythreecontroller];

对于(int i=0;i首先移除nstimer并使用性能选择器:withObject:afterDelay:方法,如下所示:

 // add delay and method according to your requirement
[self performSelector:@selector(oneView) withObject:nil afterDelay:10];

-(void)oneView
{
    //add firstView and perform second selector
   [self performSelector:@selector(secondView) withObject:nil afterDelay:10];
}

-(void)secondView
{
    //add secondView and perform thirdselector
   [self performSelector:@selector(thirdView) withObject:nil afterDelay:10];
}

goes on .......................

我正在寻找如何在容器视图中加载。