1

私はPlayPageViewControllerを持っていrootViewControllerます。PlayPageViewControllerは 3D モデルを表示し、メソッド呼び出しeditPages ()で待機するのに数秒かかります。UIImages

最初に loadingView を追加したいだけで、PlayPageViewControllerが完全に読み込まれると消えます。

これが私の解決策です:

  1. activityIndi​​cator を使用して loadingView を追加します。
  2. loadingView が読み込まれたら、実装を開始します

しかし、それはうまくいかなかったようです

    STLoadingViewController *loadingView = 
     [[STLoadingViewController alloc]initWithNibName:@"STLoadingViewController" 
                                              bundle:nil];
    loadingView.view.frame=CGRectMake(0, 0, 1024, 768);
    [self.view insertSubview:loadingView.view atIndex:3];

    if(loadingView.isViewLoaded && loadingView.view.window)
    {
        [self.view insertSubview:self.playPageViewController.view atIndex:4];
        [self.playPageViewController setEditingPage:pageIndex];
        [loadingView.view removeFromSuperview];
    }
4

2 に答える 2

1

viewDidAppearこのメソッドが呼び出されたときに、表示されているすべてのタスクが終了したときにメソッドを呼び出すには、それぞれのメソッドを実行する必要があります。

于 2013-07-26T07:39:49.180 に答える
0

方法は何ViewLoad()ですか?ということviewDidLoad:ですか?アクティビティ インジケーターを含むビューを含め、ストーリーボードにすべてのビューを設定できます。この時点ではモデルをロードせず、viewDidLoad:が呼び出されるまで待ちます。この時点で、Grand Central Dispatchを使用してモデルのロードを開始できます。次のようになります。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // You need to setup the activity indicator outlet in the storyboard
    [_activityIndicator startAnimating];
}
- (void)viewDidLoad {
    [super viewDidLoad];

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
        // Do the expensive work on the background
        [NSThread sleepForTimeInterval:5.0f];
        // All UI related operations must be performed on the main thread!
        dispatch_async(dispatch_get_main_queue(), ^{\
            // Replace the view containing the activity indicator with the view of your model.
            [_activityIndicator stopAnimating];
            NSLog(@"STOP");
        });
    });
}

編集:リンクがダウンしているようです。これはおそらく、Dev Center の現在の問題が原因です。ドキュメントは、Xcode オーガナイザーのドキュメント ペインにあります。

于 2013-07-26T08:04:22.303 に答える