在 iPhone SDK 中切换视图?
Posted
技术标签:
【中文标题】在 iPhone SDK 中切换视图?【英文标题】:Switching Views in iPhone SDK? 【发布时间】:2010-02-16 20:40:10 【问题描述】:为什么这不会为我切换视图?当我单击按钮时,它什么也不做......
-(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
【问题讨论】:
您是否将您的按钮连接到操作方法howtoplayButtonClicked? 你用 NSLog 验证了吗? 【参考方案1】:你的行动方法...
-(IBAction)howtoplayButtonClicked;
... 应该是这样的:
-(IBAction)howtoplayButtonClicked:(id) sender;
如果它的形式不正确,它可能不会被调用。如果更正表格不起作用,您应该:
-
在方法中放置断点或日志语句以查看它是否被调用。如果它没有检查您的 IBConnections 以确保按钮已连接到该方法。
如果您从 nib 初始化它然后释放它,则不需要将 howToPlayViewController
设置为属性。一般来说,如果你想在 Interface Builder 中连接它,你只会使用一个属性,在这种情况下,它应该像这样定义:
IBOutlet HowToPlayViewController *howToPlayViewController;
【讨论】:
【参考方案2】:对于初学者来说,这是错误的:
[HowToPlayViewController release];
应该是:
[howToPlayViewController release];
我不知道向班级发送发布消息有什么作用。
【讨论】:
将它切换到 howtoPlayViewController 并且它仍然没有做任何事情【参考方案3】:确保 self.navigationController!=nil
【讨论】:
例如 assert(self.navigationController != nil)【参考方案4】:设置initWithNibName:nil"
,让视图控制器完成其余的工作。
【讨论】:
如果你想要翻转动画,你可以添加 yourViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;只需更改任何其他动画的 UIModalTransitionStyle。以上是关于在 iPhone SDK 中切换视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何在iPhone SDK中的MKMapView中单击注释引脚切换到另一个视图?
iPhone SDK:切换到一个视图然后返回到前一个视图错误
如何使用 iOS 6 sdk 为 iPhone 4s 或 iPhone 4 制作视图控制器?