Wednesday, January 15, 2014

There are two viewcontroller, set up every few seconds to switch a big God answers you seek

For example, two, respectively A, B of viewcontroller, repeated every 5 seconds and then switch two viewcontroller.



kangqijun Posted at 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;
}
}



I wrote the above code, may prompt a warning there is always displayed screenSaverA this view.
Reply:
This should be, plus I have a question Q: 506341588
 

- (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);
}];
}
}


Reply:
 
- (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);
}];
}
}

Reply:
reference to the second floor wangliangffaflgh reply:
 
- (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);
}];
}
}

Normal operation but will report a warning: Attempt to present on while a presentation is in progress!
Reply:
Requirements: Make a screensaver.
There are two viewcontroller, one is home A, an exhibition of pictures of B.
1, once every few seconds to switch, such as displaying an image, and then display A, and then display another picture, and then display the A, so the loop.
2, When you click a picture, the page back to A; When you click A time screensaver stops. A can be operated.


Urgent





No comments:

Post a Comment