在iPhone SDK中切换视图?

时间:2010-02-16 20:40:10

标签: iphone sdk view switch-statement

为什么这不会为我切换视图?当我点击按钮时它什么也没做......

-(IBAction)howtoplayButtonClicked{
    howToPlayViewController = [[HowToPlayViewController alloc] initWithNibName:@"HowToPlayViewController" bundle:nil];
    [self.navigationController pushViewController:howToPlayViewController animated:YES];
    [HowToPlayViewController release];

}

在.h文件中我有这个...

#import <UIKit/UIKit.h>
#import "HowToPlayViewController.h"

@interface PopToItViewController : UIViewController {

    HowToPlayViewController *howToPlayViewController;

}

-(IBAction)howtoplayButtonClicked;

@end

4 个答案:

答案 0 :(得分:4)

你的行动方法......

-(IBAction)howtoplayButtonClicked;

......应该是这样的:

-(IBAction)howtoplayButtonClicked:(id) sender;

在它不正确的形式中可能不会被调用。如果更正表单不起作用,您应该:

  1. 在方法中放置断点或日志语句,以查看它是否被调用。如果它没有检查您的IBConnections以确保按钮已连接到该方法。
  2. 如果从nib初始化然后释放它,则不需要将howToPlayViewController设置为属性。一般来说,如果你想在Interface Builder中连接它,你只会使用一个属性,在这种情况下它应该这样定义:

    IBOutlet HowToPlayViewController *howToPlayViewController;

答案 1 :(得分:2)

首先,这是错误的:

[HowToPlayViewController release];

应该是:

[howToPlayViewController release];

我不知道向班级发送发布消息的原因是什么。

答案 2 :(得分:0)

确保self.navigationController!= nil

答案 3 :(得分:0)

设置initWithNibName:nil"并让视图控制器完成剩下的工作。