出于某种原因,按下主页按钮后我的笔尖不会加载。但是,SYSLogs正确执行。
- (IBAction)homePressed:(id)sender {
NSLog(@"hi");
[[NSBundle mainBundle] loadNibNamed:@"rewardViewController" owner:self options:nil];
NSLog(@"hey");
}
有人知道这段代码有什么问题吗?
谢谢!
答案 0 :(得分:3)
您的代码没有语法错误,但我怀疑您可能误解了loadNibNamed将为您做什么。如果您尝试通过加载新的nib文件来更改屏幕,那么您想要探索UINavigationController。
您的代码看起来更像是这样:
UIViewController *viewController = [[UIViewController alloc] initWithNibName:@"ViewControllerName" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
如果您确实打算像上面那样使用loadNibNamed,则需要将其分配给某些内容以使其有用。例如,如果您的nib包含UIViewController的实例,您可能会执行以下操作:
UIViewController *viewController = [[NSBundle mainBundle] loadNibNamed:@"rewardViewController" owner:self options:nil];
这将创建一个带有nib文件内容的UIViewController的新实例。然后,您可以使用该UIViewController执行您想要的任何操作。