如何在不按下任何按钮的情况下从视图1切换到视图2。在我看来,我有uiimageview和uitextview

我正在尝试使用NSTimer

通过使用以下代码在viewdidload方法中:

在firstviewcontroller.h文件中

@interface FirstViewController : UIViewController
{
    NSTimer *SwitchingTimer;
}


在firstviewcontroller.m文件中

- (void)viewDidLoad
{
   [super viewDidLoad];
   SwitchingTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self      selector:@selector(SwitchView) userInfo:nil repeats:YES];
}

-(void)SwitchViews:(id)sender


在secondviewcontroller.m文件中

-(void) SwitchView
{
SecondViewController *SecondView = [[SecondViewController alloc]
                                    initWithNibName:@"SecondViewController" bundle:nil];
SecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:SecondView animated:YES];
[SwitchingTimer invalidate];
self.SwitchingTimer = nil;

}


但是什么也没发生。有人可以告诉我代码中缺少的内容。将不胜感激。

提前致谢。

最佳答案

您需要将其添加到运行循环中:

- (void)viewDidLoad
{
    [super viewDidLoad];
    SwitchingTimer = [NSTimer scheduledTimerWithTimeInterval:2 target:self      selector:@selector(SwitchView) userInfo:nil repeats:YES];
    [[NSRunLoop currentRunLoop] addTimer: SwitchingTimer forMode:NSDefaultRunLoopMode];
}


另外,您可以将-(void)SwitchView重命名为-(void)switchViewTimerDidFire:(NSTimer *)timer。从Documentation


  [...]选择器必须具有以下签名:


- (void)timerFireMethod:(NSTimer*)theTimer



  计时器将自身作为此方法的参数传递。

关于iphone - 从 View 1切换到 View 2,而无需按任何按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8662210/

10-10 17:11