0

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

4

6 回答 6

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...];
}
于 2012-08-20T10:38:52.897 回答
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。我希望它对你有用...... :)

于 2012-08-20T11:14:45.850 回答
0

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

于 2012-08-20T10:30:31.613 回答
0

做这个:

 [UIView animateWithDuration:5

 animations:^{ 
   //add you modal view here
 }];
于 2012-08-20T10:37:00.630 回答
0
[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(theSelector) userInfo:nil repeats:NO];

这应该这样做。只需插入正确的选择器。

于 2012-08-20T10:37:28.070 回答
0

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

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

从您的 viewdidLoad 方法中以 5 秒的延迟调用此方法。

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

}

检查语法,我没有使用 xcode 。

于 2012-08-20T11:02:24.430 回答