无法使用视图控制器文件

时间:2015-07-12 17:52:19

标签: ios objective-c xcode

我有一个LaunchScreen.storyboard,用作启动屏幕文件。在这个故事板中是一个带有LaunchViewController类的视图控制器。

在我的LaunchViewController.m文件中,我更改了视图的背景颜色,并添加了一个带有闪烁效果(https://github.com/facebook/Shimmer)的标签。

_shimmeringView = [[FBShimmeringView alloc] init];
_shimmeringView.shimmering = YES;
_shimmeringView.shimmeringBeginFadeDuration = 0.3;
_shimmeringView.shimmeringOpacity = 0.3;
[self.view addSubview:_shimmeringView];

_logoLabel = [[UILabel alloc] initWithFrame:_shimmeringView.bounds];
_logoLabel.text = @"Shimmer";
_logoLabel.font = [UIFont fontWithName:@"HelveticaNeue-UltraLight" size:60.0];
_logoLabel.textColor = [UIColor whiteColor];
_logoLabel.textAlignment = NSTextAlignmentCenter;
_logoLabel.backgroundColor = [UIColor clearColor];
_shimmeringView.contentView = _logoLabel;

但是当我跑到那里时,只有一个空的白色背景显示为发射屏幕。另外我发现当LaunchViewController用作常规视图控制器时,它看起来很好。如何在用作启动画面时显示相同的效果?

2 个答案:

答案 0 :(得分:2)

您无法在启动视图控制器nib中使用代码。无论是故事板还是单独的笔尖。代码未执行。唯一有效的是InterfaceBuilder中的内容,如自动布局和东西。没有加载代码。这会破坏使用启动文件的目的。在应用程序有机会加载之前加载launcfile。

没有应用,没有代码。只有启动文件。

答案 1 :(得分:-1)

我有类似的问题,根据您的代码,它可能与我的相似。首先,我不会像我想的那样理解你的问题。你说," LaunchViewController在没有用作启动画面时工作正常。"这是否意味着它在Xcode上查看时看起来像你想要的样子,但在模拟器上看不到?我将尝试提供可能的解决方案,以及一些故障排除技巧。

  1. 它可能就像你的背景(或某物)位于屏幕前方一样简单,阻挡其余部分。如果是这样,您必须在应用程序的xib文件中重新配置启动屏幕上项目的顺序。
    1. 这可能是您的错误。我的一些程序员朋友使用Xcode界面开发他们的启动屏幕:我发现它更容易使用,并且错误可能更少。
    2. 这可能是iOS模拟器的一个问题。这可能不是真的,但也可能如此。尝试在您的设备上运行该应用,看看它是否正常。
  2. 故障排除:为了解决您的代码问题,注释掉您的代码,并一次加载一个启动屏幕的所有元素,检查iOS模拟器和控制台。您最终会找到有问题的代码,并能够修复它。通过查看您的代码,我没有看到任何错误(但是我不理解它,我不熟悉快速编写启动画面/故事板。祝你好运,我希望我的提示工作。此外,如果您的启动屏幕在Xcode中显得很好,那么在iOS模拟器上出现编程错误或错误。启动屏幕的图片或说明也可以帮助将来回答此问题的人。< / p>