JXMarqueeView
JXMarqueeView copied to clipboard
需要oc版本
就几行代码 自己写也可以的
简单 swift 封装下即可
import UIKit
import JXMarqueeView
import SnapKit
@objc enum JXMarqueeObjType: Int {
case left
case right
case reverse
}
@objcMembers class JXMarqueeBridgeObjViewConfigure: NSObject {
public var marqueeObjType: JXMarqueeObjType = .left
// 两个视图之间的间隔
public var contentMargin: CGFloat = 12
// 多少帧回调一次,一帧时间1/60秒
public var frameInterval: Int = 1
// 每次回调移动多少点
public var pointsPerFrame: CGFloat = 0.5
// 展示视图
public var contentView: UIView?
}
class JXMarqueeBridgeObjView: UIView {
private let marqueeView = JXMarqueeView()
private var cofigure: JXMarqueeBridgeObjViewConfigure?
@objc init(frame: CGRect, cofigure: JXMarqueeBridgeObjViewConfigure) {
super.init(frame: frame)
self.cofigure = cofigure
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
fileprivate func createUI() {
addSubview(marqueeView)
marqueeView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
guard let cofigure = cofigure else { return }
marqueeView.contentView = cofigure.contentView
switch cofigure.marqueeObjType {
case .left:
marqueeView.marqueeType = .left
case .right:
marqueeView.marqueeType = .right
case .reverse:
marqueeView.marqueeType = .reverse
}
marqueeView.pointsPerFrame = cofigure.pointsPerFrame
marqueeView.contentMargin = cofigure.contentMargin
marqueeView.frameInterval = cofigure.frameInterval
}
}