【问题标题】:Why am I seeing a black screen? Did I not alloc something?为什么我看到黑屏?我没有分配东西吗?
【发布时间】:2012-01-07 17:47:54
【问题描述】:

在 xcode 中,这是我创建的视图之一:

如果我在模拟器中运行程序,我可以很好地看到这个视图。但是,如果我创建一个 UIViewController 类并将它与这个视图挂钩(我确认这个视图是一个 UIViewController),这就是我在模拟器中得到的:

为什么会出现这个空白屏幕?如何获得看起来像第一张图片的屏幕?

编辑:代码

#import "EnterLevelViewController.h"

@interface EnterLevelViewController ()

@end

@implementation EnterLevelViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)loadView
{
    // Implement loadView to create a view hierarchy programmatically, without using a nib.
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

【问题讨论】:

  • 不看代码,恐怕帮不了你。
  • @RichardJ.RossIII 没有代码。 UIViewController类文件我没碰
  • 如果你没有任何代码,你在“运行”什么“程序”?
  • 嗯 xcode?当我说没有代码时,我的意思是我没有添加任何代码。
  • "我创建了一个 UIViewController 类并把它和这个视图挂钩" 你说你做了这个,那怎么没有代码呢?无代码无视图。

标签: objective-c ios xcode interface-builder


【解决方案1】:

从您的代码中可以看出,您已取消注释模板中提供的视图控制器中的 -(void)loadView 方法。当您这样做时,控制器将尝试以编程方式构建视图,而不是使用 nib(故事板)。完全删除空方法,看看是否有帮助。

【讨论】:

    【解决方案2】:

    只需从 tabBarController 拖到 storyboard 中的新 ViewController 中,当你松开时,按下关系 ViewController 的选择。

    下面是一个快速示例,说明如何使用三个选项卡进行设置,其中一个是您的视图:

    https://github.com/HubertK/TabBar_Example

    【讨论】:

    • 哇!你能创建一个新文件(UIViewController,转到情节提要中的“关卡”视图,然后关联它们吗?当我这样做时,我得到一个空白屏幕。
    • 特别看一下storyboard。
    • 我做到了。我已经以这种方式设置了它(好吧,在 3 个选项卡视图中的每一个之前都有一个 UINavigationController)。
    【解决方案3】:

    最初作为项目一部分的情节提要已经包含一个视图控制器及其关联的视图。您可以在您发布的故事板图像中看到它——它是底部带有浅灰色背景的图标。该视图控制器被设置为根视图控制器,并且作为项目模板一部分的代码加载了该视图控制器及其视图。这就是你在模拟器中看到的。当您添加另一个视图控制器时,您必须将其配置为根控制器。由于它没有连接到它的视图(或者如果有,则视图是空的),您不再看到任何东西。

    【讨论】:

      猜你喜欢
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 2021-11-05
      • 1970-01-01
      • 2021-05-10
      相关资源
      最近更新 更多