0

テスト目的で、Github で提供されているデモを使用しています。SASlideMenu を検索して、github リポジトリを見つけます。

スクリーンショット 1:

スクリーンショット 2:

わかりましたので、私は自分のアプリで SASlideMenu を使用しています。これが私がやりたいことです:

一言で言えば、ボタンを押して青いページ (「Press me to get screenshot 1」というボタンがあるページ) から、メニューの別のオプションに移動したいと考えています。スクリーンショット 1 に移動するオプションをメニューに追加しました。これをクリックすると、上部にナビゲーション バーがあるビューが表示されます。

問題は、「Press me to get to Screenshot 1」ボタンを押すと、ビューの上部にナビゲーション バーがないスクリーンショット 1 ページに移動することです。ボタンをスクリーンショット 1 に示すビューにリンクするために、モーダル セグエを使用しました。

青いスクリーンショットのように、このビューにナビゲーション バーを表示したいと考えています。

これは可能ですか?

これが明確であることを願っています。説明が必要な場合は、お気軽にお尋ねください。

4

1 に答える 1

0

ここにあるので、別のビューでそのトップバーを再利用することはできません

しかし、以下は解決策かもしれません

1.トップ バーがナビゲーション バーの場合は、モーダル ボタンとセットアップ ボタンの代わりにプッシュ セグエを使用します。

2. 同じトップバーを使用したい場合は、カスタムセグエを記述してモーダルビューのプレゼンテーションを模倣するだけです

// モーダル プリセットを模倣するコードは次のようになります

- (void)perform
{

    //add as subview with origin y at bottom -50 
    CGRect frame = [[self destinationViewController] view].frame;
    frame.origin.y = [[self sourceViewController] view].frame.size.height -50;
    [[self destinationViewController] view].frame = frame;


    [[[self sourceViewController] view] addSubview:[[self destinationViewController] view]];

    //animate frame with new y postion
    [UIView animateWithDuration:0.5 animations:^{

        CGRect frame = [[self destinationViewController] view].frame;
        frame.origin.y =[[self sourceViewController] view].frame.origin.y - SOME_OFFSET_VALUE_TO_SHOW_TOP_BAR;
        [[self destinationViewController] view].frame = frame;

    }];
}

3 . モーダル セグエを使用したくない場合は、2. のようにカスタム セグエを使用し、ビュー (白いもの) をナビゲーション バーの下の領域にサブビューとして追加します。

于 2013-12-16T20:08:43.603 に答える