JXMarqueeView icon indicating copy to clipboard operation
JXMarqueeView copied to clipboard

需要oc版本

Open fengyun911 opened this issue 3 years ago • 2 comments

fengyun911 avatar May 25 '21 07:05 fengyun911

就几行代码 自己写也可以的

CirclesInTheSand avatar Jul 15 '21 02:07 CirclesInTheSand

简单 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
    }
}

zeqinjie avatar Sep 07 '21 03:09 zeqinjie