2012-08-09 5 views
5

私はibooksのようなリーダーを作成しようとしており、Webサービスからデータを取得した後にUIPageViewControllerの内容を動的に更新する必要があります。長い一連の理由のために私は最初にそれをインスタンス化し、データが来るときにそれを更新する必要があります。dataSourceの後にUIPageViewControllerを動的にリロードする

私はこのようにそれを作成しています:

NSDictionary *options = 
[NSDictionary dictionaryWithObject: 
[NSNumber numberWithInteger:UIPageViewControllerSpineLocationMin] 
          forKey: UIPageViewControllerOptionSpineLocationKey]; 

self.pageController = [[UIPageViewController alloc] 
         initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl 
         navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal 
         options: options]; 

self.pageController.dataSource = self; 
self.pageController.delegate = self; 

[[self.pageController view] setFrame:[[self view] bounds]]; 

MovellaContentViewController *initialViewController = [self viewControllerAtIndex:0]; 

self.controllers = [NSArray arrayWithObject:initialViewController]; 

[self.pageController setViewControllers:self.controllers 
           direction:UIPageViewControllerNavigationDirectionForward 
           animated:NO 
          completion:nil]; 

[self addChildViewController:self.pageController]; 
[[self view] addSubview:[self.pageController view]]; 
[self.pageController didMoveToParentViewController:self]; 

、その後、私はちょうど​​

を設定し、私はのUITableViewControllerのためのreloadDataのようなものを探していますが、UIPageViewControllerのためにそこにそのようなことでしょうか?

答えて

1

主な問題ワットでなければなりませんwebviewはすべてのユーザーの接触を傍受していたため、UiPageViewControllerはデリゲートメソッドを呼び出さなかったためです。ユーザーのタッチイベントを無視するようにwebviewを設定すると、すべてが正しく機能するようになりました。

11

あなたはsetViewControllersを送信する必要があります。もう一度PageControllerでの をし、それをディスプレイに最初のビューコントローラ与える:方向:アニメーション:完了したことを私はの最初の仮定としてviewControllerAtIndex:self.controllersにアクセスしていない場合は

[self.pageController setViewControllers:[NSArray arrayWithObject: 
              [self viewControllerAtIndex:0] 
             ] 
           direction:UIPageViewControllerNavigationDirectionForward 
           animated:NO 
          completion:nil]; 

を、それはおそらく、むしろ

[self.pageController setViewControllers:[NSArray arrayWithObject: 
              [self.controllers objectAtIndex:0] 
             ] 
           direction:UIPageViewControllerNavigationDirectionForward 
           animated:NO 
          completion:nil]; 

代わり

+0

同じ結果が試されました。 – valeriodidonato

+0

viewControllerAtIndex:self.controllersの要素にアクセスするか、他の何かにアクセスしますか? –

関連する問題