我正在做一个模态视图控制器(changeviewcontroller),它只会出现5秒,那么怎么做呢?我需要写的重要代码是什么?
答案 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。 我希望它对你有用...... :)