動(dòng)畫(huà)

最近在做的一個(gè)小項(xiàng)目需要用到這種斷頭臺(tái)效果仅胞,后面在github上找到了對(duì)應(yīng)的代碼邓厕。
https://github.com/Yalantis/GuillotineMenu
遺憾的是在菜單頁(yè)面present一個(gè)ViewController的話,在這個(gè)ViewController dismiss后琢蛤,菜單按鈕會(huì)移到后面禁漓。
后面采用了一種取巧的方法,分別在下面的兩處代碼進(jìn)行修改:

    private func animateDismissal(context: UIViewControllerContextTransitioning) {
        menu = context.viewControllerForKey(UITransitionContextFromViewControllerKey)!
        if menu.navigationController != nil {
            let toVC = context.viewControllerForKey(UITransitionContextToViewControllerKey)!
            context.containerView()!.addSubview(toVC.view)
            context.containerView()!.sendSubviewToBack(toVC.view)
        }
        if UIDevice.currentDevice().orientation == .LandscapeLeft || UIDevice.currentDevice().orientation == .LandscapeRight {
            updateChromeView()
            menu.view.addSubview(chromeView!)
        }
        
        let toVC = context.viewControllerForKey(UITransitionContextToViewControllerKey)
        toVC?.beginAppearanceTransition(true, animated: true)

        animationDelegate?.animatorWillStartDismissal?(self)

        //dimiss的時(shí)候轉(zhuǎn)移到context.containerView()
        if containerMenuButton != nil {
            containerMenuButton!.removeFromSuperview();
            context.containerView()!.addSubview(containerMenuButton!)
        }

        animateMenu(menu.view, context: context)
    }
//MARK: - UIDynamicAnimatorDelegate protocol implementation
extension GuillotineTransitionAnimation: UIDynamicAnimatorDelegate {
 
    func dynamicAnimatorDidPause(animator: UIDynamicAnimator) {
        if self.mode == .Presentation {
            self.animator.removeAllBehaviors()
            menu.view.transform = CGAffineTransformIdentity
            menu.view.frame = animationContext.containerView()!.bounds
            anchorPoint = CGPointZero
        }

        chromeView?.removeFromSuperview()
        animationContext.completeTransition(true)
        
        if self.mode == .Presentation {
            let fromVC = animationContext.viewControllerForKey(UITransitionContextFromViewControllerKey)
            fromVC?.endAppearanceTransition()
            animationDelegate?.animatorDidFinishPresentation?(self)

            //present 結(jié)束的時(shí)候罢低,把view轉(zhuǎn)移到menu上
            if containerMenuButton != nil {
                containerMenuButton!.removeFromSuperview();
                menu.view.addSubview(containerMenuButton!);
            }

        } else {
            let toVC = animationContext.viewControllerForKey(UITransitionContextToViewControllerKey)
            toVC?.endAppearanceTransition()
            animationDelegate?.animatorDidFinishDismissal?(self)

        }
        //Stop displayLink
        displayLink.paused = true
    }
}

這樣也可以在菜單頁(yè)面present出 一個(gè)新的ViewController了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市网持,隨后出現(xiàn)的幾起案子宜岛,更是在濱河造成了極大的恐慌,老刑警劉巖功舀,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萍倡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡辟汰,警方通過(guò)查閱死者的電腦和手機(jī)列敲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)帖汞,“玉大人戴而,你說(shuō)我怎么就攤上這事◆嬲海” “怎么了所意?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)催首。 經(jīng)常有香客問(wèn)我扶踊,道長(zhǎng),這世上最難降的妖魔是什么郎任? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任秧耗,我火速辦了婚禮,結(jié)果婚禮上舶治,老公的妹妹穿的比我還像新娘分井。我一直安慰自己,他們只是感情好霉猛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布尺锚。 她就那樣靜靜地躺著,像睡著了一般韩脏。 火紅的嫁衣襯著肌膚如雪缩麸。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天赡矢,我揣著相機(jī)與錄音杭朱,去河邊找鬼。 笑死吹散,一個(gè)胖子當(dāng)著我的面吹牛弧械,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播空民,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼刃唐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼羞迷!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起画饥,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤衔瓮,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后抖甘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體热鞍,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年衔彻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了薇宠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡艰额,死狀恐怖澄港,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柄沮,我是刑警寧澤回梧,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站铡溪,受9級(jí)特大地震影響漂辐,放射性物質(zhì)發(fā)生泄漏泪喊。R本人自食惡果不足惜棕硫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袒啼。 院中可真熱鬧哈扮,春花似錦、人聲如沸蚓再。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)摘仅。三九已至靶庙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間娃属,已是汗流浹背六荒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矾端,地道東北人掏击。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像秩铆,于是被迫代替她去往敵國(guó)和親砚亭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 去參加朋友的婚宴添祸,觥籌交錯(cuò)之后,桌上還剩下很多菜寻仗,有的甚至就動(dòng)過(guò)一兩筷子膝捞。妻子招呼服務(wù)員拿飯盒過(guò)來(lái)打包,我說(shuō)...
    石在山中閱讀 166評(píng)論 0 0
  • 學(xué) 知識(shí)和技能愧沟;知識(shí)(五經(jīng):詩(shī) 書(shū) 禮 樂(lè) 易)技能(六藝:禮 樂(lè) 射 御 書(shū) 數(shù))通過(guò)這種學(xué)習(xí)成為有用的人才蔬咬。 ...
    張MAX閱讀 576評(píng)論 0 0
  • 讀《富爸爸窮爸爸》 這是我第二次讀這本書(shū),再次讀這本書(shū)我又有了新的感悟: 1:做金錢(qián)的主人沐寺。錢(qián)是一種很重要的東西林艘,...
    永永_99閱讀 203評(píng)論 0 0