例如有两个分别为A,B的viewcontroller ,然后每隔5秒钟重复切换两个viewcontroller。 kangqijun 发表于 2013-7-25 15:16
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSel ...
-(void)screenFun:(NSTimer *)timer
{
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(sss) userInfo:nil repeats:YES];
[time invalidate];
time = nil;
}-(void)sss
{
AdsfdViewController *screenSaverA = [[AdsfdViewController alloc] initWithNibName:@"AdsfdViewController" bundle:nil];
screenSaverA.view.frame = CGRectMake(0, 0, 1024, 768);
ScreenSaverViewController *screenSaver = [[ScreenSaverViewController alloc] initWithNibName:@"ScreenSaverViewController" bundle:nil];
screenSaver.view.frame = CGRectMake(0, 0, 1024, 768);
static int i = 0;
if (i % 2 == 0) {
[self presentViewController:screenSaver animated:YES completion:nil];
}
if (i % 2 == 1) {
[[self parentViewController] presentViewController:screenSaverA animated:YES completion:nil];
}
i++;
if (i>2) {
i = 0;
}
}我写了上面的代码,可提示有警告还有就是一直显示screenSaverA这个视图。viewcontroller nstimer切换
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSel ...
-(void)screenFun:(NSTimer *)timer
{
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(sss) userInfo:nil repeats:YES];
[time invalidate];
time = nil;
}-(void)sss
{
AdsfdViewController *screenSaverA = [[AdsfdViewController alloc] initWithNibName:@"AdsfdViewController" bundle:nil];
screenSaverA.view.frame = CGRectMake(0, 0, 1024, 768);
ScreenSaverViewController *screenSaver = [[ScreenSaverViewController alloc] initWithNibName:@"ScreenSaverViewController" bundle:nil];
screenSaver.view.frame = CGRectMake(0, 0, 1024, 768);
static int i = 0;
if (i % 2 == 0) {
[self presentViewController:screenSaver animated:YES completion:nil];
}
if (i % 2 == 1) {
[[self parentViewController] presentViewController:screenSaverA animated:YES completion:nil];
}
i++;
if (i>2) {
i = 0;
}
}我写了上面的代码,可提示有警告还有就是一直显示screenSaverA这个视图。viewcontroller nstimer切换
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(screenFun:) userInfo:nil repeats:YES];
}static int i = 0;
static id viewController = nil;
-(void)screenFun:(NSTimer *)timer
{
AdsfdViewController *screenSaverA = [[AdsfdViewController alloc] initWithNibName:@"AdsfdViewController" bundle:nil];
//screenSaverA.view.frame = CGRectMake(0, 0, 1024, 768);
ScreenSaverViewController *screenSaver = [[ScreenSaverViewController alloc] initWithNibName:@"ScreenSaverViewController" bundle:nil];
//screenSaver.view.frame = CGRectMake(0, 0, 1024, 768);
if (i % 2 == 0) {
viewController = self;
[viewController presentViewController:screenSaver animated:YES completion:^{
viewController = screenSaver;
i++;
NSLog(@"S %d", i);
}];
}
else {
[viewController presentViewController:screenSaverA animated:YES completion:^{
viewController = screenSaverA;
i++;
NSLog(@"A %d", i);
}];
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(screenFun:) userInfo:nil repeats:YES];
}
static int i = 0;
static id viewController = nil;
-(void)screenFun:(NSTimer *)timer
{
AdsfdViewController *screenSaverA = [[AdsfdViewController alloc] initWithNibName:@"AdsfdViewController" bundle:nil];
screenSaverA.view.frame = CGRectMake(0, 0, 1024, 768);
ScreenSaverViewController *screenSaver = [[ScreenSaverViewController alloc] initWithNibName:@"ScreenSaverViewController" bundle:nil];
screenSaver.view.frame = CGRectMake(0, 0, 1024, 768);
if (i % 2 == 0) {
viewController = self;
[viewController presentViewController:screenSaver animated:YES completion:^{
viewController = screenSaver;
i++;
NSLog(@"S %d", i);
}];
}
else {
[viewController presentViewController:screenSaverA animated:YES completion:^{
viewController = screenSaverA;
i++;
NSLog(@"A %d", i);
}];
}
}
有两个viewcontroller,一个是主页A,一个展示图片为B。
1,每个几秒就切换一次,例如显示一张图片,然后显示A,再显示另外一张图片,再显示A,就这样循环。
2,当点击图片的时,页面回到A;当点击A时候,屏保停止。 可以对A进行操作。
急