iphone - 我的 Nib 无法加载

标签 iphone ios xcode

出于某种原因,按下 homeButton 后我的 Nib 无法加载。但是,NSLogs 正确执行。

- (IBAction)homePressed:(id)sender {
    NSLog(@"hi");
  [[NSBundle mainBundle] loadNibNamed:@"rewardViewController" owner:self options:nil];
    NSLog(@"hey");
}

有人知道这段代码有什么问题吗?

谢谢!

最佳答案

您的代码在语法上没有任何错误,但我怀疑您可能误解了 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 做任何你想做的事。

关于iphone - 我的 Nib 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14530626/

相关文章:

iphone - 左侧的 UITableView 图像

iOS——区分 NSDictionary 和 NSMutableDictionary?

iOS:NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error 会导致什么错误:

ios - 为什么我无法快速下载所有 json 值?

xcode - 检查自定义类是否为 Nil --- Swift 正在将其转换为 UInt8

iphone - iOS 中的自定义表单

iphone - 如何将 DTCoreText 集成到新项目中?

ios - 键盘在旋转时隐藏

iphone - 将文件添加到 Xcode 项目

objective-c - 使用 Xcode 调试库