全屏加载视图不起作用

时间:2012-07-30 08:04:32

标签: objective-c ios

我一直在处理我的应用的全屏加载视图,但它无法阻止任何用户交互。我实现它的方式是这样的:

  1. 创建单个对象 - LoadingView
  2. 致电[LoadingView show] - 将加载视图添加到[[[UIApplication sharedApplication] delegate] window]
  3. 所以我想问:

    1. 我的观念错了吗?
    2. 是否有任何方法调用可以禁用与我的应用的所有用户互动?
    3. 还有另一种更好的方法吗? (我更喜欢了解内部原理,而不仅仅是使用其他人的库)
    4. 由于

2 个答案:

答案 0 :(得分:1)

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

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

  7. 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];
    

答案 1 :(得分:0)

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

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

详细了解iOS发布屏幕here