
點(diǎn)擊禮物按鈕?
ChatView向左移動(dòng)、底部BottomView向下移動(dòng),禮物選擇界面向上移動(dòng)
選擇禮物確認(rèn)送禮?點(diǎn)擊屏幕取消送禮?
禮物界面的向下移動(dòng),ChatView向右移動(dòng)、底部BottomView向上移動(dòng)
點(diǎn)擊倒計(jì)時(shí)按鈕?
點(diǎn)贊的View上顯示,等級(jí) 名字 送給主播:【黃瓜】X100,當(dāng)然每點(diǎn)擊一次就發(fā)一條消息,不過這個(gè)消息有些特別,比如說,內(nèi)容完全不能少,但是我得把消息類型變成一個(gè)6點(diǎn)贊的那種,可是這樣又不能發(fā)送禮物了呢,但是可以這樣,給消息類型為6的處理方法里添加判斷,比如說如果是giftID和giftNum都不為0,就是單機(jī)版的連擊禮物,這時(shí)候需要做兩件事情:第一就是將這條消息變成一個(gè)側(cè)彈動(dòng)畫,第二就是將側(cè)彈動(dòng)畫的調(diào)用次數(shù)記錄下來(lái),這個(gè)側(cè)彈動(dòng)畫的調(diào)用次數(shù)就是連擊的次數(shù)。還記得么,當(dāng)初過濾服務(wù)器消息的時(shí)候,如果我判斷這是個(gè)我自己的禮物消息,直接就return了,意味著我本地必須發(fā)一個(gè)一模一樣的禮物消息,然后邏輯根據(jù)我本地發(fā)的禮物消息去處理動(dòng)畫,可是我現(xiàn)在遇到問題就是說,我的動(dòng)畫是嚴(yán)格與消息相關(guān)的,20個(gè)黃瓜禮物無(wú)論你是20個(gè)禮物消息,還是一個(gè)消息20條黃瓜,我都能處理。對(duì)于本地來(lái)說,20個(gè)黃瓜禮物我是分20條消息發(fā)還是一個(gè)消息發(fā)20條黃瓜是有區(qū)別的,這個(gè)區(qū)別就是出現(xiàn)的時(shí)間不一樣,我可以這樣,我發(fā)一條黃瓜就發(fā)一條黃瓜信息,但是我將這條消息保存在緩存里不顯示出來(lái),只是處理這個(gè)黃瓜而已罷了,那么如何實(shí)現(xiàn),只處理消息,但是不顯示消息,也不是不處理,而是這個(gè)處理不能是去刷新TableView那樣處理,必須是通過點(diǎn)贊的累加【黃瓜】X100對(duì)就是這么簡(jiǎn)潔,富文本都免了,我需要做的就是分析發(fā)出去的消息,只要點(diǎn)擊倒計(jì)時(shí)按鈕一次,把這個(gè)事件傳遞給視圖控制器,當(dāng)初想要把這個(gè)事件傳遞給控制器,兩個(gè)辦法,一個(gè)是本地處理一條禮物消息,處理消息結(jié)束后會(huì)放到控制器,一個(gè)是請(qǐng)求服務(wù)器發(fā)送禮物。先說第一種方法,直覺告訴我,依然可以使用這個(gè)方法,只要改變一下消息類型,消息類型改為6,點(diǎn)贊的消息類型,但是我又不能直接就進(jìn)入點(diǎn)贊的事件里,必須與點(diǎn)贊相區(qū)分,比如說,我要直接寫一個(gè)專門處理本地送禮的界面。一旦判斷是單機(jī)禮物,就執(zhí)行單機(jī)動(dòng)畫,同時(shí)顯示到一個(gè)新的地方。那么問題來(lái)了,當(dāng)我倒計(jì)時(shí)結(jié)束,準(zhǔn)備發(fā)送請(qǐng)求的時(shí)候務(wù)必要先發(fā)一條消息,這條消息還不能處理,只能看,那這就不科學(xué)了,換句話說,我不能把單機(jī)的動(dòng)畫,完全交給消息掌控,我應(yīng)該直接在倒計(jì)時(shí)的按鈕事件里寫入單機(jī)動(dòng)畫,可是執(zhí)行單機(jī)動(dòng)畫也是需要禮物模型呀,我還是得構(gòu)建模型然后執(zhí)行單機(jī)動(dòng)畫,就這個(gè)簡(jiǎn)單。現(xiàn)在我通過一個(gè)異常簡(jiǎn)單的辦法解決了單擊倒計(jì)時(shí)按鈕執(zhí)行禮物動(dòng)畫,直接就是在按鈕點(diǎn)擊的時(shí)間里回調(diào)單機(jī)動(dòng)畫到控制器,然后執(zhí)行chatView的實(shí)時(shí)技術(shù)響應(yīng),只是在動(dòng)畫執(zhí)行完畢的時(shí)候,我也可以不經(jīng)動(dòng)畫過濾就直添加捆綁打包的禮物消息呢!簡(jiǎn)直棒得不要不要的。
連擊禮物搞定,現(xiàn)在又搞定了特效禮物,其實(shí)特小禮物沒有什么好改動(dòng)的,就是發(fā)一個(gè)網(wǎng)絡(luò)請(qǐng)求,等待服務(wù)器響應(yīng),在接收到LeanClound消息后判斷是禮物消息,然后就是在判斷是特效禮物,肯定是執(zhí)行動(dòng)畫啦,可是呀可是,我需要刷新一下波劵數(shù)量,這很關(guān)鍵,我當(dāng)然是希望在接收到LeanClound消息的時(shí)候刷新波劵數(shù)量,可是我該在哪里去刷新波劵熟練呢,干脆提前一個(gè)判斷吧,在執(zhí)行特效動(dòng)畫后立即更新主播的波劵數(shù)量。我現(xiàn)在就是把刷新主播波劵數(shù)量的代碼抽離出來(lái),直接告訴這個(gè)方法一個(gè)禮物ID,主播的波劵數(shù)量自動(dòng)加一個(gè)數(shù)量禮物的單價(jià)。那我剛剛在執(zhí)行單機(jī)動(dòng)畫的時(shí)候,每點(diǎn)擊一次倒計(jì)時(shí)按鈕,本質(zhì)上屬性主播的波劵數(shù)量,需要知道禮物類型,禮物單價(jià),禮物數(shù)量,那干脆傳個(gè)模型算了。
現(xiàn)在還有一個(gè)問題,當(dāng)我連擊連擊的時(shí)候,我希望是沒連擊一次,就能夠在View上直接展示出來(lái),可是現(xiàn)在無(wú)論我連擊多少次然后View上面就累加多少次,簡(jiǎn)直不要不要的。
每次點(diǎn)擊連擊按鈕,構(gòu)建的禮物消息模型傳遞到本地成為單機(jī)動(dòng)畫,禮物個(gè)數(shù)都是1,也只能是1,因此,我想要知道已經(jīng)點(diǎn)擊了多少次,那么我就必須為禮物消息模型新添加一個(gè)屬性用來(lái)記錄到底現(xiàn)在已經(jīng)連擊了多少次。
現(xiàn)在思路很清晰,就是連擊按鈕,單機(jī)動(dòng)畫、展示View、累計(jì)波劵。好的,先實(shí)現(xiàn)吧!
現(xiàn)在我一直疑惑一個(gè)問題,就是當(dāng)我執(zhí)行View的出場(chǎng)動(dòng)畫的時(shí)候,我需要確定一點(diǎn),就是一個(gè)View執(zhí)行UIView的Block動(dòng)畫,會(huì)不會(huì)影響這個(gè)View的frame,我的這個(gè)判斷是建立在UIView的Block動(dòng)畫會(huì)改變View的frame的基礎(chǔ)之上的,只能判斷了。
現(xiàn)在更新波劵數(shù)量,首先得就是我需要更具禮物ID找到這個(gè)禮物的單價(jià),這個(gè)禮物的單價(jià)是多少得用一個(gè)字符串來(lái)展示!首先獲取禮物的單價(jià),這個(gè)字符創(chuàng)在我計(jì)算用戶允許最多發(fā)送多少個(gè)連擊禮物的時(shí)候計(jì)算過,因此,我可以直接拷貝,然后累加到波劵Lable,現(xiàn)在都弄好了,那么現(xiàn)在的問題就是我現(xiàn)在
現(xiàn)在已經(jīng)完美的實(shí)現(xiàn)了單機(jī)動(dòng)畫和連擊反饋,就差一個(gè)波劵數(shù)量實(shí)時(shí)更新,
現(xiàn)在有兩個(gè)問題需要及時(shí)處理,其一就是我考慮漏了一個(gè)邏輯,當(dāng)我停止連擊,點(diǎn)擊禮物按鈕的時(shí)候,調(diào)用了停止連擊的方法,可是那個(gè)方法里面我需要做一個(gè)事情,就是我只要請(qǐng)求服務(wù)器發(fā)送禮物,就必須將已經(jīng)存儲(chǔ)起來(lái)的禮物數(shù)量變成0,防止我點(diǎn)擊禮物按鈕,??執(zhí)行了這套方法,干脆這樣吧,我如果能夠判斷一個(gè)界面上有沒有倒計(jì)時(shí)按鈕,再?zèng)Q定是否調(diào)用停止連擊的方法就會(huì)好很多呢,可是我應(yīng)該怎么去衡量?說白了,就是一個(gè)訴求,就是我該判斷什么條件,來(lái)決定我點(diǎn)擊禮物按鈕,是否觸發(fā)請(qǐng)求服務(wù)器發(fā)送禮物。當(dāng)然判斷禮物界面為真才可以重復(fù)調(diào)用方法,將倒計(jì)時(shí)按鈕屬性暴露在.h文件之中,只有判斷倒計(jì)時(shí)按鈕在屏幕上的時(shí)候,在請(qǐng)求服務(wù)器發(fā)送禮物?,F(xiàn)在還有一個(gè)問題,就是當(dāng)我
確定哪一個(gè)View
送了多少個(gè)禮物,同時(shí)實(shí)時(shí)顯示還能送了多少個(gè),至于界面,隨便寫一個(gè),關(guān)鍵顯示信息,這才重要,怎么好看,UI考慮。添加一個(gè)長(zhǎng)Lable,然后寫入格式包括【黃瓜:20/10000】,通過那個(gè)扇形圖來(lái)展示,直接就是中間一個(gè)大圓圈,只要點(diǎn)擊連擊按鈕,這個(gè)數(shù)就不斷的的增加,可是我需要一個(gè)立即送出的按鈕,就是我連續(xù)點(diǎn)擊100次之后,我立馬點(diǎn)擊立即送出,就立馬送出禮物和開始執(zhí)行單機(jī)動(dòng)畫。這個(gè)時(shí)候不發(fā)消息,也不執(zhí)行動(dòng)畫,我只需要靜靜的看另一個(gè)單機(jī)交互動(dòng)畫,
現(xiàn)在遇到問題了,就是不明白,這個(gè)倒計(jì)時(shí)按鈕消失之后,我開始請(qǐng)求服務(wù)器,我應(yīng)該在chtsubView里面插入一句話,可是我應(yīng)該寫在那個(gè)地方呢?該寫在哪里呢?如何同時(shí)能夠兼顧到特效禮物這就是另一個(gè)問題了,
今天早上的時(shí)候我居然又想到了一個(gè)禮物單價(jià)的好處,就是波卷數(shù)實(shí)時(shí)地變化,這多么好,我就應(yīng)該這么做,首先考慮連擊禮物哈,我點(diǎn)擊連擊按鈕,這個(gè)事件回調(diào)到控制器中,然后執(zhí)行了幾個(gè)任務(wù),任務(wù)一是本地的黃瓜單機(jī)動(dòng)畫,任務(wù)二將這個(gè)點(diǎn)擊裝換成一個(gè)事件展示到View上,任務(wù)三累計(jì)主播的波卷數(shù)量,就三個(gè)任務(wù),還有的話再說,這里需要先解決另外一個(gè)問題,就是連擊結(jié)束時(shí)我該做點(diǎn)什么,任務(wù)一就是請(qǐng)求服務(wù)器發(fā)送連擊禮物,任務(wù)二就是構(gòu)建一個(gè)消息模型直接展示到聊天框。
現(xiàn)在考慮特效禮物,選中特效禮物,點(diǎn)擊發(fā)送,計(jì)算用戶最多可以發(fā)送多少個(gè),如果允許發(fā)送,本地直接構(gòu)建禮物消息,進(jìn)入消息過濾模型,首先開始展示特效禮物動(dòng)畫,然后將這條消息顯示到聊天框,同時(shí)請(qǐng)求服務(wù)器發(fā)送禮物,還要刷新主播的波卷數(shù)量,當(dāng)然這些都不能輕舉妄動(dòng),必須一會(huì)兒與主播端接收禮物聯(lián)系起來(lái)統(tǒng)籌考慮,不然又是寫B(tài)ug了
主播端接收禮物時(shí),現(xiàn)在無(wú)論怎樣都是接收到一條消息,那么必然直接進(jìn)入禮物過濾了呀,特效禮物進(jìn)數(shù)組,連擊禮物進(jìn)隊(duì)列,然后把禮物消息展示在聊天框,問題在于,我需要每展示一個(gè)禮物,就刷新一次波券,這該如何實(shí)現(xiàn)。反正是挺好實(shí)現(xiàn)的。發(fā)禮物也發(fā)了,接收禮物也接了,現(xiàn)在就是展示了。
處理幾個(gè)任務(wù),第一個(gè)就是回調(diào)單擊禮物的事件,這真的是太簡(jiǎn)單了,我需要考慮一個(gè)為,就是我應(yīng)該如何去處理這個(gè)任務(wù),首先,就是單機(jī)動(dòng)畫,我需要做的事情是,展示這個(gè)單機(jī)動(dòng)畫,首先就是然后將消息展示到聊天框,再然后累加主播波券數(shù)。這還只是說連擊動(dòng)畫,這只是連擊的過程之中,最關(guān)鍵的還是得看點(diǎn)擊連擊按鈕,開始一個(gè)新的倒計(jì)時(shí)動(dòng)畫,倒計(jì)時(shí)結(jié)束之后執(zhí)行的方法這才是最最重要的,典型就是這個(gè)方法里處理兩個(gè)任務(wù),第一個(gè)任務(wù)就是請(qǐng)求服務(wù)器發(fā)送禮物,任務(wù)二,將這條消息直接顯示在聊天框上。至于特效禮物,點(diǎn)擊發(fā)送,也是兩個(gè)任務(wù),第一個(gè)任務(wù)請(qǐng)求服務(wù)器發(fā)送禮物,這跟普通的連擊禮物一樣,至于任務(wù)二就是發(fā)送一條禮物消息,發(fā)送一條禮物消息跟直接簡(jiǎn)簡(jiǎn)單單地把禮物消息展示在禮物框上是完全不一樣的,所以,思考著其中的本質(zhì)區(qū)別就是一個(gè)需要經(jīng)過禮物邏輯過濾,一個(gè)絕對(duì)不能經(jīng)過禮物消息過濾,這很簡(jiǎn)單呀,直接合二為一,都不經(jīng)過禮物邏輯過濾,尤其是對(duì)于特效禮物來(lái)說,干脆就不本地展示禮物了,直接就是直接請(qǐng)求服務(wù)器發(fā)送禮物,那么問題又來(lái)了,這個(gè)時(shí)候會(huì)有一個(gè)很新很新的問題,就是說服務(wù)器在響應(yīng)我們的發(fā)送禮物的請(qǐng)求之后,會(huì)推送過來(lái)一條消息,我已經(jīng)完完全全屏蔽了這條消息,現(xiàn)在的訴求是只屏蔽連擊禮物消息,不屏蔽特效禮物消息,這就問題很大了。特效禮物消息和連擊禮物消息的唯一區(qū)別就是禮物ID不同,當(dāng)然一鍵將禮物消息對(duì)象轉(zhuǎn)化成消息模型,然后直接判斷禮物ID號(hào),如果用戶ID是自己和禮物ID又是連擊的時(shí)候,就不處理,我們分析這么一個(gè)邏輯,我的最終訴求是用戶ID是自己的且這個(gè)禮物是連擊禮物不處理動(dòng)畫邏輯,直接顯示出來(lái)就行,對(duì)啊,這連個(gè)判斷條件是沒有先后之分的,因此,可以這樣,干脆,我本地不再自己構(gòu)建禮物消息展示到聊天框,全靠服務(wù)器返回回來(lái)的消息,反正都是要顯示在聊天框的,只不過是否執(zhí)行動(dòng)畫則是看這個(gè)消息的用戶ID了,這樣豈不是更加簡(jiǎn)單,同時(shí),自己發(fā)送的連擊禮物在本地單機(jī)化操作絲毫不會(huì)影響到其他觀眾發(fā)送連擊禮物的消息時(shí)執(zhí)行動(dòng)畫邏輯過濾。這樣才是帥到爆,每個(gè)以為很復(fù)雜的問題,最后解決起來(lái),總是那么的容易,這就簡(jiǎn)直不能認(rèn)了呀,直接就是特效禮物點(diǎn)擊發(fā)送請(qǐng)求服務(wù)器,連擊禮物在道理是按鈕消失之后請(qǐng)求服務(wù)器,都會(huì)返回禮物消息,都會(huì)處理,只不過連擊禮物的動(dòng)畫過濾需要添加一個(gè)邏輯,就是判斷這個(gè)禮物消息的用戶ID是不是自己,這真的很重要。這個(gè)時(shí)候根本不需要執(zhí)行動(dòng)畫,動(dòng)畫早就在點(diǎn)擊倒計(jì)時(shí)按鈕是就執(zhí)行了,沒想到很凌亂的邏輯最后是這么簡(jiǎn)單,這樣還可以更直接的看到請(qǐng)求服務(wù)器有沒有成功呢!當(dāng)然還有一點(diǎn)需要注意,就是我應(yīng)該怎樣去琢磨一下那個(gè)當(dāng)停止點(diǎn)擊倒計(jì)時(shí)按鈕,點(diǎn)擊禮物按鈕,立馬結(jié)束倒計(jì)時(shí),開始請(qǐng)求服務(wù)器發(fā)送禮物。對(duì)的,就是這樣!
對(duì)了,我還得想一下,明天做點(diǎn)什么呢?就是開始梳理直播的邏輯,總感覺沒有掌握直播的精髓。這太傷人了。必須梳理重新整理一下直播的邏輯,進(jìn)入和退出來(lái)出現(xiàn)問題,坑爹了都!
現(xiàn)在有一個(gè)問題,就是倒計(jì)時(shí)按鈕在倒計(jì)時(shí)大0的時(shí)候回刪除這個(gè)按鈕,同時(shí)我又延時(shí)執(zhí)行了一個(gè)3秒方法,只要在按鈕點(diǎn)擊后地秒就會(huì)調(diào)用一次,這兩句代碼本質(zhì)上訴求都是一樣的,都是想要在點(diǎn)擊按鈕后,執(zhí)行一個(gè)3秒的倒計(jì)時(shí),3秒后刪除這個(gè)按鈕,同時(shí)請(qǐng)求拂去其發(fā)送禮物,可是我為什么要寫兩次呢?這嚴(yán)重不科學(xué)呀!我能想到的原因就是說可能我擔(dān)心在點(diǎn)擊倒計(jì)時(shí)按鈕后,倒計(jì)時(shí)的動(dòng)畫并沒有正常執(zhí)行,所以寫了這么一個(gè)延時(shí)3秒執(zhí)行的方法,當(dāng)然,現(xiàn)在確實(shí)是這樣,當(dāng)本地單機(jī)動(dòng)畫不斷顯示的時(shí)候,又加上倒計(jì)時(shí)按鈕在不斷的被點(diǎn)擊,造成這種倒計(jì)時(shí)動(dòng)畫嚴(yán)重受到單機(jī)動(dòng)畫的影響,畢竟這個(gè)動(dòng)畫實(shí)在主線程執(zhí)行了,勢(shì)必我可能需要另外一種方法來(lái)規(guī)避這一點(diǎn),當(dāng)然還可以使用定時(shí)器或是CDdisplayLink可是哪一個(gè)效率更高呢,這是我一直很疑惑的地方。當(dāng)然肯定啦。我可以暫且先不動(dòng)這個(gè)定時(shí)器,畢竟無(wú)論是使用NStimer還是CAdisplayLink都是輕松easy的事情。因此來(lái)說,我現(xiàn)在最需要做的還是說不用監(jiān)聽動(dòng)畫的倒計(jì)時(shí)狀態(tài),直接開啟3秒的延時(shí)操作來(lái)得更加直接,這才是我想看到的結(jié)果,可以來(lái)一個(gè)判斷嘛,如果在延時(shí)3秒后執(zhí)行的方法里判斷禮物數(shù)量不為0,說明什么,說明我不需要請(qǐng)求服務(wù)器發(fā)送禮物,因?yàn)橛^眾根本就沒有點(diǎn)擊那個(gè)倒計(jì)時(shí)按鈕。所以不要把那個(gè)寫那個(gè)的倒計(jì)時(shí)動(dòng)畫的complete的監(jiān)聽了,畢竟如果我以后把倒計(jì)時(shí)改成NSTimer或是CADisplayLink也是可以直接搞定的啦。所以根本就不用擔(dān)心浙西東西,直接用那個(gè)3秒延時(shí)操作,感覺來(lái)得更靠譜一點(diǎn)呀。
現(xiàn)在分析一下點(diǎn)擊倒計(jì)時(shí)按鈕都做了什么事情,首先就是移除舊的倒計(jì)時(shí)動(dòng)畫,開啟一個(gè)新的倒計(jì)時(shí)動(dòng)畫,接著開啟新的波浪動(dòng)畫,再然后延時(shí)3秒執(zhí)行方法,這個(gè)方法包括請(qǐng)求服務(wù)器發(fā)送禮物和UI界面歸零。然后每點(diǎn)擊一次倒計(jì)時(shí)按鈕,禮物數(shù)量的變量累加一次,同時(shí)通過委托代理將這次倒計(jì)時(shí)按鈕點(diǎn)擊事件回調(diào)到控制器中,構(gòu)建一個(gè)禮物消息模型,然后做三件事情,第一實(shí)時(shí)更新觀眾點(diǎn)擊次數(shù),第二開始執(zhí)行本地單機(jī)動(dòng)畫,第三更新一下波卷總數(shù)。這里面還有一點(diǎn)需要特別注意,就是,我不能一直點(diǎn)擊倒計(jì)時(shí)按鈕,我的訴求是一旦我點(diǎn)擊倒計(jì)時(shí)按鈕的次數(shù),我就需要判斷一下這個(gè)單機(jī)動(dòng)畫是否還需要執(zhí)行,如果禮物次數(shù)已經(jīng)等于允許最大發(fā)送的禮物數(shù)量,那么就直接進(jìn)入3秒延時(shí)執(zhí)行的那個(gè)方法,自然如果用戶疑惑為甚不讓點(diǎn)的時(shí)候,肯定會(huì)直接點(diǎn)擊禮物按鈕,選擇禮物,這時(shí)候再去提醒他充值,我也不用添加字段,說白了,就一句話,如果可以送那就繼續(xù)送,如果不能送了我就直接請(qǐng)求服務(wù)器發(fā)送已經(jīng)點(diǎn)擊的禮物同時(shí)UI恢復(fù)初始位置?,F(xiàn)在已經(jīng)連擊禮物的按鈕點(diǎn)擊事件了,接下來(lái)就是去處理這個(gè)單機(jī)動(dòng)畫的邏輯,不夠在處理單機(jī)動(dòng)畫之前,我還有一個(gè)訴求,就是在我停止連擊之后,只要我點(diǎn)擊了禮物按鈕,立即結(jié)束停止連擊,移除連擊按鈕,可是這里有一個(gè)問題需要解決,就是這個(gè)點(diǎn)擊禮物按鈕是在控制器里面,我需要在控制器的事件響應(yīng)里面去操作停止禮物連擊,這其實(shí)也是蠻容易的,只需要把停止連擊的代碼寫在一個(gè)方法里,然后把這個(gè)方法暴露在頭文件里面就完美解決了這個(gè)問題嘛!現(xiàn)在停止禮物連擊的問題解決了,就剩下單機(jī)禮物了,我需要做點(diǎn)什么呢?首先就是將單機(jī)禮物展示出來(lái),特容易,傳入一個(gè)模型和父視圖就搞定了,把禮物連擊了多少次的數(shù)量展示出來(lái),這個(gè)地方有必要去做一個(gè)處理,就是這個(gè)消息模型里面的消息類型是2,但是直接就把這條消息展示到禮物框的下面,我展示添加這個(gè)View很正常,我應(yīng)該什么時(shí)候移除或是設(shè)置這個(gè)View為不可見狀態(tài)呢,這就是另一個(gè)問題了,我需要做的事情是如何在我停止連擊的時(shí)候,將這個(gè)View從父視圖移除掉,這就要考慮我之前的點(diǎn)贊邏輯了,之前是一個(gè)ImageView上面添加了Lable,然后呢,如果有人點(diǎn)贊,首先將消息存儲(chǔ)在數(shù)組里,只有當(dāng)數(shù)組的元素累計(jì)超過多少個(gè)的時(shí)候,在執(zhí)行點(diǎn)贊的提示,當(dāng)時(shí)是通過CDisplayLink來(lái)實(shí)現(xiàn)的,畢竟我需要一個(gè)定時(shí)器不斷切換我數(shù)組里面的點(diǎn)贊消息,UI的表現(xiàn)就是切換Lable上面的文字??墒俏矣忠粋€(gè)問題就是我如果這個(gè)時(shí)候又來(lái)了一個(gè)點(diǎn)贊消息怎么辦,所以最好的辦法就是在處理新的數(shù)組時(shí),通過新的數(shù)組來(lái)接收原來(lái)的數(shù)組,然后將原來(lái)的??置空,新數(shù)組一個(gè)個(gè)遍歷里面的點(diǎn)贊消息模型,然后展示出來(lái),這樣就可以實(shí)現(xiàn)了,點(diǎn)贊消息干脆也一個(gè)就出來(lái)吧,畢竟這又不需要reloadTableView,所以我需要做的事情就是不斷顯示,只不過開啟一個(gè)兩秒的延時(shí)就可以了,如此也方便我處理禮物消息嘛,當(dāng)然這個(gè)時(shí)候就不要通過CDisplyLink來(lái)處理了,唯一需要的就是需要在處理消息的方法里面創(chuàng)建一個(gè)2秒延時(shí)執(zhí)行的方法,這樣才是正常的節(jié)奏嘛,其實(shí)聊天框上面的誰(shuí)誰(shuí)誰(shuí)來(lái)了,也是同樣的道理。唯一需要做的就是添加一個(gè)兩秒的延時(shí)操作,就算我要處理Lable文字的定時(shí)器快速切換,那也是需要2秒的延時(shí)操作的,這個(gè)延時(shí)操作里面來(lái)執(zhí)行小時(shí)動(dòng)畫呀!既然說道消失動(dòng)畫,那出現(xiàn)時(shí)的動(dòng)畫該寫在哪里呢?假如把動(dòng)畫寫在消息的處理初始之時(shí),必然造成每次處理消息的時(shí)候都會(huì)執(zhí)行這個(gè)動(dòng)畫,這并不是我想看到的,我的訴求是,出廠動(dòng)畫和消失動(dòng)畫一一對(duì)應(yīng),這就是我想看到的結(jié)果,我需要去處理,如何才能一一對(duì)應(yīng)呢?我的出場(chǎng)動(dòng)畫是寫在哪里呢,才能保證我應(yīng)該把這個(gè)出場(chǎng)動(dòng)畫寫在哪里呢?既然出場(chǎng)動(dòng)畫是一個(gè)新的方法來(lái)實(shí)現(xiàn),那么開場(chǎng)動(dòng)畫貌似也只能是一個(gè)新的方法來(lái)實(shí)現(xiàn),就是來(lái)了出場(chǎng),當(dāng)然既然來(lái)了和點(diǎn)贊的出場(chǎng)動(dòng)畫都很類似,干脆就寫在一個(gè)方法里吧,算了,這樣沒什么意義呢,多些一個(gè)方法又不會(huì)影響什么。
那天你戴著個(gè)帽子讓我突然想到了一件事情,那就是你是走可愛風(fēng)路線的,你并不喜歡那種正經(jīng)嚴(yán)肅的氣氛,你喜歡的是輕松愉悅的感覺,從你喜歡鹿晗就更加可以證明這一點(diǎn),我說得對(duì)不對(duì),既然這樣,那我肯定在你面前扮演錯(cuò)了角色,我拿錯(cuò)了面具,我扮演了一個(gè)梁家輝那樣的角色,當(dāng)初我說話的時(shí)候,你超過42秒沒理人,我頓時(shí)就不開心的,心想,就是你長(zhǎng)得像個(gè)仙女兒那也不能隨便不理人呀是不是,太沒禮貌了,果斷刪QQ刪微信,當(dāng)然我刪也要?jiǎng)h的落落大方,果斷找了一個(gè)好借口。哈哈!然后就沒有然后啦,但是有一天我看書,一句話驚醒了我,還是我見的女生不夠多的原因呀,對(duì)于走高冷女神范兒的女生,你只需要保持距離,創(chuàng)造吸引,深度思考,營(yíng)造嚴(yán)肅,然后在委婉含蓄,自然贏得好感,對(duì)于這種女生來(lái)說,深沉才是安全感,時(shí)而皺眉,時(shí)而嘆氣,時(shí)而目光深邃地望著遠(yuǎn)方,一副飽經(jīng)世事滄桑的樣子是最打動(dòng)高冷女生的角色。最開始我以為你也是這樣,后來(lái)發(fā)現(xiàn),很明顯,不是。從那天看到你戴帽子,我就知道,你肯定是走可愛路線的。走高冷路線的人幾乎很少戴帽子。對(duì)于可愛的女生來(lái)說,贏得好感的最佳策略就是營(yíng)造輕松愉悅的氛圍呀,這是我的長(zhǎng)項(xiàng)呀,當(dāng)然啦,千萬(wàn)千萬(wàn)不要誤會(huì),贏得好感僅僅是為了你以后買辣條的時(shí)候能撕給我一點(diǎn)點(diǎn)就行,就像小時(shí)候那樣,等我買辣條了我也撕給你。咱們是好朋友,從中間撕給你好不好。哎,估計(jì)這種話也只有在你這種走可愛路線的菇?jīng)雒媲拔也耪f的出口呀,我本該談?wù)撘晾屎藛栴}的。哎,為了贏得好感我把靈魂都賣了,你還好意思下次不帶點(diǎn)好吃的么。不過,還是謝謝你,我仔細(xì)一想,我身邊走可愛路線的菇?jīng)鲞€是挺多的,為了全面發(fā)展,我還是得在這個(gè)方面擴(kuò)展點(diǎn)內(nèi)涵,什么奔馳,什么老板,什么財(cái)務(wù)自由,通通先放一放,拓展一下對(duì)可愛路線的理解才是當(dāng)務(wù)之急。
現(xiàn)在有一個(gè)問題,就是我到底該如何處理你這么一個(gè)邏輯,我把來(lái)了和點(diǎn)贊柔和在一起,處理消息分析消息模型,然后入場(chǎng)動(dòng)畫,然后就是判斷這個(gè)View的初始View的原始尺寸,如果原始尺寸為-的父視圖寬度,毫無(wú)疑問,我必須通過出場(chǎng)動(dòng)畫把它展示出來(lái)。但是這里又有一個(gè)問題,就是UIView的Block是否會(huì)改變View的originFrame。這太重要了。
觀眾不知道自己送了多少個(gè)禮物?
第一次點(diǎn)擊倒計(jì)時(shí)按鈕,在點(diǎn)贊的那條提示View上顯示點(diǎn)擊了多少次,,每點(diǎn)擊一次,數(shù)字累加一次,停止連擊,就執(zhí)行這個(gè)界面的三秒小時(shí)動(dòng)畫,消