Commit d7a473db authored by pete谢兆麟's avatar pete谢兆麟

点赞动画添加

parent 0830b624
......@@ -81,6 +81,8 @@ target 'galaxy' do
pod 'BMPlayer', '1.3.0'
#高斯模糊
pod 'VisualEffectView', '4.1.5'
#动画框架
pod 'lottie-ios', '4.4.0'
end
......
......@@ -277,6 +277,9 @@
04EA230A2BB5172F009DA928 /* YHDocumentPromptTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04EA23092BB5172F009DA928 /* YHDocumentPromptTableViewCell.swift */; };
04EA230C2BB5199D009DA928 /* YHDocumentToActionTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04EA230B2BB5199D009DA928 /* YHDocumentToActionTableViewCell.swift */; };
04EA230E2BB538E9009DA928 /* YHDocumentUploadTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04EA230D2BB538E9009DA928 /* YHDocumentUploadTableViewCell.swift */; };
04EA2E6A2BF70BAE00AE80B0 /* shipin.json in Resources */ = {isa = PBXBuildFile; fileRef = 04EA2E672BF70BAD00AE80B0 /* shipin.json */; };
04EA2E6B2BF70BAE00AE80B0 /* shouye.json in Resources */ = {isa = PBXBuildFile; fileRef = 04EA2E682BF70BAD00AE80B0 /* shouye.json */; };
04EA2E6C2BF70BAE00AE80B0 /* zixun.json in Resources */ = {isa = PBXBuildFile; fileRef = 04EA2E692BF70BAE00AE80B0 /* zixun.json */; };
04EA376D2BEA06EF00DBAF64 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04EA376C2BEA06EF00DBAF64 /* WebKit.framework */; };
04EA376F2BEA071600DBAF64 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 04EA376E2BEA070500DBAF64 /* libc++.tbd */; };
04EA37742BEA0A3400DBAF64 /* YHShareManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04EA37732BEA0A3400DBAF64 /* YHShareManager.swift */; };
......@@ -733,6 +736,9 @@
04EA23092BB5172F009DA928 /* YHDocumentPromptTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDocumentPromptTableViewCell.swift; sourceTree = "<group>"; };
04EA230B2BB5199D009DA928 /* YHDocumentToActionTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDocumentToActionTableViewCell.swift; sourceTree = "<group>"; };
04EA230D2BB538E9009DA928 /* YHDocumentUploadTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDocumentUploadTableViewCell.swift; sourceTree = "<group>"; };
04EA2E672BF70BAD00AE80B0 /* shipin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = shipin.json; path = "../../../../../Downloads/点赞动效文件-05.17/shipin.json"; sourceTree = "<group>"; };
04EA2E682BF70BAD00AE80B0 /* shouye.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = shouye.json; path = "../../../../../Downloads/点赞动效文件-05.17/shouye.json"; sourceTree = "<group>"; };
04EA2E692BF70BAE00AE80B0 /* zixun.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = zixun.json; path = "../../../../../Downloads/点赞动效文件-05.17/zixun.json"; sourceTree = "<group>"; };
04EA376C2BEA06EF00DBAF64 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
04EA376E2BEA070500DBAF64 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
04EA37732BEA0A3400DBAF64 /* YHShareManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHShareManager.swift; sourceTree = "<group>"; };
......@@ -2200,6 +2206,9 @@
A5ACE9142B4564F7002C94D2 /* Res */ = {
isa = PBXGroup;
children = (
04EA2E672BF70BAD00AE80B0 /* shipin.json */,
04EA2E682BF70BAD00AE80B0 /* shouye.json */,
04EA2E692BF70BAE00AE80B0 /* zixun.json */,
A5E69D4F2BA304D400411932 /* Font */,
A5C5B2ED2B4F9B8800A7C5D1 /* Localizable.xcstrings */,
04808C022B4686510056D53C /* Frameworks */,
......@@ -2465,11 +2474,14 @@
files = (
045EEED42B9F171A0022A143 /* scoreOptionData.plist in Resources */,
045EEED62B9F171A0022A143 /* YHQuestionList.plist in Resources */,
04EA2E6C2BF70BAE00AE80B0 /* zixun.json in Resources */,
A5C5B2EE2B4F9B8800A7C5D1 /* Localizable.xcstrings in Resources */,
A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */,
A51044182B493675006B60BB /* README.md in Resources */,
A5573EDB2B317C0000D98EC0 /* Assets.xcassets in Resources */,
04EA2E6B2BF70BAE00AE80B0 /* shouye.json in Resources */,
A5E69D512BA304D400411932 /* DIN Alternate Bold.ttf in Resources */,
04EA2E6A2BF70BAE00AE80B0 /* shipin.json in Resources */,
047619ED2BA9B9C900F45358 /* area.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -3041,11 +3053,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyTestEnv.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -3072,7 +3082,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = TESTENV;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
......@@ -3247,11 +3256,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxyDebug.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -3278,7 +3285,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0;
......@@ -3295,11 +3301,9 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_ENTITLEMENTS = galaxy/galaxy.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Manual;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = RXHYW88XR7;
DEVELOPMENT_TEAM = RXHYW88XR7;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
......@@ -3326,7 +3330,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.intelligence.galaxy;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = com.dev.profile;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "$(SRCROOT)/$(TARGET_NAME)/Res/galaxy-Bridge-Header.h";
SWIFT_VERSION = 5.0;
......
......@@ -10,6 +10,7 @@ import UIKit
import Kingfisher
import AVFoundation
import AVKit
import Lottie
class YHHomeCollectionViewCell: UICollectionViewCell {
static let cellReuseIdentifier = "YHHomeCollectionViewCell"
......@@ -66,7 +67,8 @@ class YHHomeCollectionViewCell: UICollectionViewCell {
label.font = UIFont.PFSC_R(ofSize: 12)
return label
}()
var animationView: LottieAnimationView!
required init?(coder: NSCoder) {
super.init(coder: coder)
}
......@@ -138,6 +140,18 @@ extension YHHomeCollectionViewCell {
make.height.equalTo(16)
}
animationView = {
let view = LottieAnimationView(name: "shouye")
view.isHidden = true
return view
}()
subHoldView.addSubview(animationView)
animationView.snp.makeConstraints { make in
make.right.equalTo(numLable.snp.left).offset(2.5)
make.height.width.equalTo(24)
make.centerY.equalTo(numLable).offset(-0.5)
}
subHoldView.addSubview(heartImageViewBtn)
heartImageViewBtn.snp.makeConstraints { make in
make.right.equalTo(numLable.snp.left).offset(-2)
......@@ -199,6 +213,12 @@ extension YHHomeCollectionViewCell {
if YHLoginManager.shared.isLogin() {
if listModel.is_like == false {
animationView.isHidden = false
animationView.loopMode = .playOnce
animationView.play {[weak self] completed in
guard let self = self else { return }
self.animationView.isHidden = true
}
viewModel.getLike(listModel.id, 1) {[weak self] success, error in
guard let self = self else { return }
if success {
......@@ -208,6 +228,7 @@ extension YHHomeCollectionViewCell {
}
}
} else {
animationView.isHidden = true
viewModel.getLike(listModel.id, 0) {[weak self] success, error in
guard let self = self else { return }
if success {
......
......@@ -7,6 +7,7 @@
//
import UIKit
import Lottie
enum YHTintColorMode {
case light
......@@ -22,6 +23,7 @@ class YHHomeWebBottomView: UIView {
var starBlock: Block?
var likeButton: YHHomeWebBottomButton!
var starButton: YHHomeWebBottomButton!
var animationView: LottieAnimationView!
var likeCount: Int = 0
var starCount: Int = 0
var isStar: Bool = false {
......@@ -77,7 +79,18 @@ class YHHomeWebBottomView: UIView {
}
func setUpView() {
animationView = {
let view = LottieAnimationView(name: "zixun")
view.isHidden = true
return view
}()
addSubview(animationView)
animationView.snp.makeConstraints { make in
make.right.equalTo(-72)
make.top.equalTo(2.5)
make.height.equalTo(36)
make.width.equalTo(36)
}
likeButton = {
let button = YHHomeWebBottomButton()
button.setContent(UIImage(named:"home_web_like"), "0")
......@@ -86,7 +99,7 @@ class YHHomeWebBottomView: UIView {
}()
addSubview(likeButton)
likeButton.snp.makeConstraints { make in
make.right.equalTo(-79)
make.centerX.equalTo(animationView.snp.centerX)
make.top.equalTo(10)
make.height.equalTo(39)
make.width.equalTo(24)
......@@ -115,6 +128,16 @@ class YHHomeWebBottomView: UIView {
return
}
isLike = !isLike
if isLike {
animationView.isHidden = false
animationView.loopMode = .playOnce
animationView.play {[weak self] completed in
guard let self = self else { return }
self.animationView.isHidden = true
}
} else {
animationView.isHidden = true
}
if let block = likeBlock {
block(isLike)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment