如何在5秒内显示模态视图?

时间:2012-08-20 10:29:12

标签: iphone objective-c ios modalviewcontroller

我正在做一个模态视图控制器(changeviewcontroller),它只会出现5秒,那么怎么做呢?我需要写的重要代码是什么?

6 个答案:

答案 0 :(得分:2)

使用-performSelector:withObject:afterDelay:方法:

-(void)someButtonClicked:(id)sender
{
   [self performSelector:@selector(openController) withObject:nil afterDelay:5.0];
}

-(void)openController
{
    //present the view controller
    SomeViewController *ctrl = ....;
    [self present...];
}

答案 1 :(得分:0)

查看NSTimer类。将其设置为运行5秒并调用selecor以关闭视图。这些都在Apple文档中

答案 2 :(得分:0)

这样做:

 [UIView animateWithDuration:5

 animations:^{ 
   //add you modal view here
 }];

答案 3 :(得分:0)

[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(theSelector) userInfo:nil repeats:NO];

这应该这样做。只需插入右选择器。

答案 4 :(得分:0)

试试这个: 在modalview控制器类中创建一个方法来关闭模态视图controllr。

-(void)dismissModal{
   [self dissmissModalViewController];
}

从viewdidLoad方法调用此方法,延迟时间为5秒。

-(void)viewDidLoad{
  [self performSelector @selector(dismissModal) afterDelay:5.0 ];

}

检查语法,我不使用xcode。

答案 5 :(得分:0)

对于MVC(模型视图控制器)

    -(void)viewWillAppear:(BOOL)animated
  {
                 [self performSelector:@selector(CloseViewController) withObject:nil afterDelay:5.0];

}

    -(void)CloseViewController{

        [yourViewController dissmissModalViewController];
    }

如果你在这里使用任何视图,那么它的工作也很像下面的

-(void)viewWillAppear:(BOOL)animated
{
        [self performSelector:@selector(hideView) withObject:nil afterDelay:5.0];
}
-(void)hideView{

    CATransition *animation = [CATransition animation];
    [animation setDelegate:self];   
    [animation setType:kCATransitionFromBottom];
    [animation setDuration:1.0];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:
                                  kCAMediaTimingFunctionEaseInEaseOut]];
    [[yourView layer] addAnimation:animation forKey:@"transitionViewAnimation"];
    yourView.hidden=YES;
}

在上面我使用了MVC的Imageview Insted。 我希望它对你有用...... :)