0

私は AMSlideMenu で作業しており、MainVC で作業しました

// Enabling Deepnes on left menu
- (BOOL)deepnessForLeftMenu
{
    return YES;
}

// Enabling Deepnes on right menu
- (BOOL)deepnessForRightMenu
{
    return YES;
}

通常、奥行き効果は左右のメニューにありますが、何も起こりません。

以前に AMSlideMenu を試して、同じ pb を持っていた人はいますか?

4

1 に答える 1

1

はい、動作しています。あなたはただそれを観察する必要があります。が有効になっている場合-deepnessForLeftMenu、メニューが変換され、左側のメニューのアニメーションとスケーリングが表示されることがわかります。

以下のメソッドのクラスにデバッガーチェックを入れるAMSlideMenuMainViewController.mと、違いがわかります。

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

// Put a break point here.
    if (self.leftMenu && [self deepnessForLeftMenu])
    {
        self.leftMenu.view.layer.transform = kMenuTransformScale;
        self.leftMenu.view.layer.opacity = kMenuLayerInitialOpacity;
    }
    if (self.rightMenu && [self deepnessForRightMenu])
    {
        self.rightMenu.view.layer.transform = kMenuTransformScale;
        self.rightMenu.view.layer.opacity = kMenuLayerInitialOpacity;
    }

}

また、deepnessForLeftMenu同じクラスの他の 2 つのメソッドで使用される bool 変数

- (void)configure3DTransformForMenu:(AMSlideMenu)menu panningView:(UIView *)panningView
{
    float cx = 0;
    float cy = 0;
    float cz = 0;
    float opacity = 0;

    // Put a break point here.

    /********************************************* DEEPNESS EFFECT *******************************************************/
    if (menu == AMSlideMenuLeft && panningView.frame.origin.x != 0 && [self deepnessForLeftMenu])
        {
             // Codes for deepness effect
        }
}

変数に設定NOした場合。deepnessForLeftMenuメニューがフラット アニメーションを表示することがわかります。

于 2014-11-07T08:12:09.993 に答える