1

我一直在为我的应用程序开发全屏加载视图,但它不能阻止任何用户交互。我实现它的方式是这样的:

  1. 创建一个单例对象 -LoadingView
  2. 调用[LoadingView show]- 将加载视图添加到[[[UIApplication sharedApplication] delegate] window]

所以我想问:

  1. 我的概念错了吗?
  2. 是否有任何方法调用可以禁用所有用户与我的应用程序的交互?
  3. 还有另一种更好的方法吗?(比起使用别人的库,我更喜欢了解里面的原理)

谢谢

4

2 回答 2

1

我使用这种方式来阻止用户交互:

  1. 使用窗口框架创建 UIView
  2. 将视图的用户交互设置为 true
  3. (可选)添加 UIActivityIndi​​cator 以查看
  4. 将视图添加到窗口子视图
  5. 当我需要显示它时,我将 hidden 设置为 NO 并使用 bringSubviewToFront 函数显示加载视图
  6. 当我不需要它时,我将 hidden 设置为 YES 并使用 sendSubviewToBack

id application = [[UIApplication sharedApplication] delegate];
UIView *loadingView = [[UIView alloc] initWithFrame:[[application window] frame]];
loadingView.userInteractionEnabled = YES;
loadingView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5];
[[application window] addSubview:loadingView];
于 2012-07-30T08:29:34.200 回答
0

您想在应用程序启动时创建启动画面吗?如果是这样,您需要做的就是将名为Default.png和/或Default@2x.png(用于视网膜显示器)的图像文件添加到您的项目中。此图像将用作应用程序启动时的初始屏幕。

您还可以控制启动画面info.plist文件。

在此处阅读有关 iOS 启动屏幕的更多信息。

于 2012-07-30T08:48:56.517 回答