1

私のアプリケーションでビューをスライドさせる方法を誰かが知っているのだろうか。ビューにいるときに、「The Magazine」のように別のビューにスライドしたい。(画像参照)

誰かが私を助けてくれることを願っています。

画像:

ここに画像の説明を入力 http://bildr.no/view/1361377

4

2 に答える 2

1

私の知る限り、スライド オーバーを実行する「既定の」トランジションはありません。私は次のように実装しました:

-(void)SlideInController:(RDSlideController *) next {
    next.presentingVC = self;
    next.view.frame = CGRectMake(self.view.frame.origin.x + 320, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
    [self.view.window addSubview:next.view];
    [UIView animateWithDuration:slideTime animations:^{
        next.view.frame = self.view.frame;
    } completion:^(BOOL finished) {
        self.view.window.rootViewController = next;
    }];
}

-(void)SlideOut {
    RDSlideController *prev = self.presentingVC;
    prev.view.frame = self.view.frame;
    [self.view.window insertSubview:prev.view belowSubview:self.view];
    [UIView animateWithDuration:slideTime animations:^{
        self.view.frame = CGRectMake(self.view.frame.origin.x + 320, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);
    } completion:^(BOOL finished) {
        self.view.window.rootViewController = prev;
    }];
}

この例では、他のコントローラーのスーパークラスであるコントローラー クラス (RDSlideController) を作成しました。これにより、すべてのコントローラーが presentingVC プロパティを持ち、さまざまなスライド インおよびスライド アウト (およびスライド アップおよびダウン) メソッドにアクセスできるようになります。これにより、これを行う方法のアイデアが得られるはずです。

于 2013-01-06T17:08:42.807 に答える
0

を見てみましょうUIPageViewController

ここにドキュメントへのリンクがあります。iOS5以降、ページカール遷移に対応しました。iOS6 では、スクリーンショットのようにスライドが追加されました。

以前のバージョンをサポートする必要がある場合は、( を使用してCAAnimation) 独自のアニメーションを作成する必要があります。

于 2013-01-06T15:47:02.080 に答える