【问题标题】:Preloading view in phone app在手机应用程序中预加载视图
【发布时间】:2011-07-02 12:30:22
【问题描述】:

当我的应用程序启动时,在启动视图完全加载之前出现黑屏。有没有办法在应用程序加载时获得进度视图或其他东西。就像 Mac 一样,windows 或任何简单的应用程序都有一个预加载屏幕。

【问题讨论】:

    标签: iphone objective-c ios preloading


    【解决方案1】:

    您可以使用 Default.png 图片代替创建预加载视图,该图片将在应用加载时显示。

    iOS Human Interface Guidelines 说,

    为了增强用户在应用启动时的体验,您必须提供至少一张启动图像。启动图像看起来与应用程序显示的第一个屏幕非常相似。当用户启动您的应用程序时,iOS 会立即显示此图像,直到应用程序完全可以使用。一旦您的应用准备好使用,您的应用就会显示其第一个屏幕,替换启动占位符图像。

    【讨论】:

      【解决方案2】:

      您可以在MainWindow.xib 文件中添加 UIView 并查看当应用加载时,以编程方式隐藏该 UIView 或者您也可以在 UIView 内的 UIImageView 中添加动画以获取进度,如下面在 UIImageView 中解释的...

      -(void)setImageAnimation
      {
          NSMutableArray *arrImages = [[NSMutableArray alloc]init];
          for (int i = 1; i < 5; i++) {
              NSLog(@"%@",[NSString stringWithFormat:@"%d.png",i]);
              [arrImages addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%d.png",i]]];
          }
          imgViewSending.animationImages = arrImages;
          imgViewSending.animationDuration = 1.0;
          [imgViewSending startAnimating];
          [arrImages release];
      }
      

      当应用加载时,您可以隐藏该视图...

      你也可以在你的项目中设置SplashScreen..只需将你的图片重命名为Default.png,它会在应用启动时自动加载该图片..

      因为我已经在我的应用程序中成功地做到了这一点..

      快乐编码...

      【讨论】:

        【解决方案3】:

        【讨论】:

        • 尽管许多应用程序都使用启动画面,但这并不是正确的做法。 Default.png 机制的存在是为了给人一种应用程序加载速度很快的印象。如链接中所述创建启动画面只会在每次应用启动时增加 2-3 秒的等待时间,这会减慢速度,而且很烦人。
        • 确实........但是当他们想要一些像淡入淡出这样的动画时,应用程序会看起来不错。对吗?
        • 问题是关于如何在第一个视图加载时避免黑屏。 Default.png 是正确的答案——系统将在应用程序启动过程的早期加载并显示该图像。加载实际视图,无论是应用程序的主视图还是淡入淡出的启动图像,都要晚得多。所以这个“解决方案”并没有解决OP询问的问题。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 2011-11-05
        • 2021-05-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多