3

私のiPadアプリで。UIPageViewControllerに取り組んでいます。あるページにテキストを設定し、別のページに画像を設定したいと思います。私はたくさん試し、グーグルで検索しましたが、解決策が見つかりませんでした。それは私の時間を殺しているので、誰かがそれに取り組んだことがあれば、私を導き、サンプルコードを投稿してください。

以下のリンクにあるコードを使用しました

http://www.ioslearner.com/implementing-uipageviewcontroller-programatically-without-storyboarding/

これがサンプルコードです。私はcontentviewcontrollerを使用しました。

UIPageViewControllerで2つのビューコントローラを使用したい

- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController
               spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation

{

if(UIInterfaceOrientationIsPortrait(orientation))

{
    //Set the array with only 1 view controller
    UIViewController *currentViewController = [self.pageViewController.viewControllers objectAtIndex:0];
    NSArray *viewControllers = [NSArray arrayWithObject:currentViewController];
    [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];

    //Important- Set the doubleSided property to NO.
    self.pageViewController.doubleSided = NO;
    //Return the spine location
    return UIPageViewControllerSpineLocationMin;

}
else
{
    NSArray *viewControllers = nil;
    ContentViewController *currentViewController = [self.pageViewController.viewControllers objectAtIndex:0];

    NSUInteger currentIndex = [self.modelArray indexOfObject:[(ContentViewController *)currentViewController labelContents]];

     NSUInteger currentIndex2 = [self.imagesArray2 indexOfObject:[(ContentViewController *)currentViewController imageContents]];

    if(currentIndex == 0 || currentIndex %2 == 0 || currentIndex2 == 0||currentIndex2 %2 == 0)
    {
        UIViewController *nextViewController = [self pageViewController:self.pageViewController viewControllerAfterViewController:currentViewController];
        viewControllers = [NSArray arrayWithObjects:currentViewController, nextViewController, nil];
    }
    else
    {
        UIViewController *previousViewController = [self pageViewController:self.pageViewController viewControllerBeforeViewController:currentViewController];
        viewControllers = [NSArray arrayWithObjects:previousViewController, currentViewController, nil];
    }
    //Now, set the viewControllers property of UIPageViewController
    [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];

    return UIPageViewControllerSpineLocationMid;
}

}

4

2 に答える 2

1

よく理解できたら、ContentPageView.xib ファイルに imageView を追加して、のアウトレットを作成します。必要なページで ImageView とラベルを非表示または表示に設定します。

于 2013-02-15T10:10:55.570 に答える
0

次の手順が役立ちます

  1. UILabelとUIImageViewをContentViewControllerに保持します
  2. modelArrayにUIImageまたはNSStringを追加します。
  3. 新しいContantViewControllerを作成するときは、以下を使用して、モデル内のオブジェクトが画像または文字列であるかどうかを確認します。
    if ([myObject class] == [UIImage class])
    {
    //HERE ASSIGN IT TO UIIMAGEVIEW.image
    }
    else
    {
    //HERE ASSIGN IT TO UILABEL.text
    }

さらにヘルプが必要な場合は投稿してください。

これがあなたが探しているものではない場合は申し訳ありません.....

于 2013-02-15T10:15:34.720 に答える