LiveGiftShow-iOS直播彈幕效果(禮物連擊)

Guru發表於2016-11-16

LiveGiftShow-iOS直播彈幕效果(禮物連擊)

按照慣例,先貼GitHub原始碼地址

導航

目標:

  • 彈幕過幾秒自動消失
  • 實現A使用者彈幕出現時,B使用者傳送禮物,B使用者彈幕在A使用者彈幕下方,A/B使用者彈幕存在時,A/B使用者連續傳送禮物,彈幕顯示的禮物數量增加,誰的禮物數量較大,誰的彈幕在上方。
  • A/B使用者彈幕存在時,C使用者傳送禮物,A/B使用者中較早出現的彈幕被替換成C使用者的彈幕資料,並且C使用者的彈幕處於下方

版本更新:

V1.0

  • 大致實現了不同使用者增加彈幕的效果

LiveGiftShow-iOS直播彈幕效果(禮物連擊)

V1.1

  • 實現了使用者連續傳送數字增加效果
  • 實現了新增彈幕從空位出現的效果

LiveGiftShow-iOS直播彈幕效果(禮物連擊)

V1.2

  • 實現了第二個使用者之後送禮物替換較早的彈幕效果(完善)

LiveGiftShow-iOS直播彈幕效果(禮物連擊)

V1.3

  • 實現了上面的檢視移除後,正在連擊的下面的檢視移動到上面的效果

LiveGiftShow-iOS直播彈幕效果(禮物連擊)

V1.4

  • 實現了目標效果???

LiveGiftShow-iOS直播彈幕效果(禮物連擊)

快速使用

  • 使用的第三方庫:

  • 兩個模型:ZYGiftListModelUserModel

    • ZYGiftListModel是用來顯示彈幕上右側禮物圖片picUrl和打賞的語句rewardMsg的,禮物有type欄位
    • UserModel是用來顯示送禮物的人的名稱name和頭像iconUrl
  • 只需要匯入即可#import "LiveGiftShow.h"

  • @property (nonatomic ,weak) LiveGiftShow * giftShow;
 - (LiveGiftShow *)giftShow{
    if (!_giftShow) {
        LiveGiftShow * giftShow = [[LiveGiftShow alloc]init];
        [self.view addSubview:giftShow];
        _giftShow = giftShow;
        [giftShow mas_makeConstraints:^(MASConstraintMaker *make) {
            make.width.equalTo(@244);
            make.height.equalTo(@50);
            make.left.equalTo(self.view.mas_left);
            make.top.equalTo(self.view.mas_top).offset(100);
        }];
    }
    return _giftShow;
}複製程式碼
  • 在開發中使用
LiveGiftShowModel * listModel = [LiveGiftShowModel giftModel:self.giftArr[3] 
                                                   userModel:[UserModel random]];
[self.giftShow addGiftListModel:listModel];複製程式碼

即可完成接入。每一次點選只需要[self.giftShow addGiftListModel:listModel];即可自動計數加一。最高支援顯示9999。

自定義配置

  • LiveGiftShow 管理所有彈幕的檢視
兩個彈幕之間的高度差 兩個交換動畫時長
kGiftViewMargin kExchangeAnimationTime
50.0 0.25
  • LiveGiftShowView一個彈幕的檢視
彈幕背景寬 彈幕背景高 送禮者名稱字號 送禮者名稱文字顏色 禮物寄語字號 禮物寄語文字顏色
kViewWidth kViewHeight kNameLabelFont kNameLabelTextColor kGiftLabelFont kGiftLabelTextColor
240.0 44.0 12.0 whiteColor 10.0 orangeColor
每個數字圖片寬度 彈幕幾秒後消失 數字改變動畫時長 彈幕消失動畫時長
kGiftNumberWidth kTimeOut kNumberAnimationTime kRemoveAnimationTime
15.0 3 0.25 0.5

關於我

相關文章