iphone - 无需按任何按钮即可从 View 1 切换到 View 2

标签 iphone ios ios4

如何在不按下任何按钮的情况下从 View 1 切换到 View 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

在第二个viewcontroller.m文件中

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

}

但什么也没发生。有人可以告诉我我的代码中缺少什么吗?将不胜感激的帮助。

提前致谢。

最佳答案

您的代码中有一些问题值得一提,但我不确定这些问题是否能为您提供解决方案。

为什么要每 2 秒重复一次计时器。我认为您只想切换到下一个 View 一次,如果是这样,则不要重复计时器。因此无需使计时器无效。

您的代码 SwitchView方法正在泄漏内存。请确保SecondView在呈现模态视图后释放(如果您没有使用 ARC)。

请遵循标准命名约定。例如:方法和变量应以小写字母开头。

关于您的问题,请确保 Nib 名称正确,并且您正在为第二个 View Controller 获取有效的对象。您可以使用NSLog进行检查.还要确保调用 Switchview 方法。尝试放置一个断点并验证它是否被调用。

另一种选择

如果您只想切换一次 View ,您可以选择另一个不使用 NSTimer 的选项。为此,您可以使用performSelector:withObject:afterDelay: .这只是我上面提到的场景的另一种选择。

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

相关文章:

iphone - 防止 iPhone 旋转时缩放

ios - Xcode 7.2 : Command failed due to signal: Segmentation fault: 11

android - 在phonegap中打开软键盘时,showkeyboard/hidekeyboard事件不会在ios 7上触发

ios - 在 Objective C 中使用 NSPredicate 过滤自定义对象数组

iphone - UIAlertView 按钮到另一个 View Controller

ios - 在 staticLibrary 中加密字符串时出错

iphone - 在横向模式下显示 2 个 PDF 页面

ios4 - iPhone : How to code a reducing countdown timer?

ios - 生产中的推送通知不起作用

ios - 在collectionView重新加载Objective C之后隐藏TabBar Item #2