|
@@ -45,9 +45,9 @@ class PQStuckPointCuttingView: UIView {
|
|
/// 时间线高
|
|
/// 时间线高
|
|
private var timeHeight: CGFloat = cDefaultMargin * 4
|
|
private var timeHeight: CGFloat = cDefaultMargin * 4
|
|
/// 频率线宽
|
|
/// 频率线宽
|
|
- private var frequencyWidth: CGFloat = 1.5
|
|
|
|
|
|
+ private var frequencyWidth: CGFloat = adapterWidth(width: 1.5)
|
|
/// 频率间隔
|
|
/// 频率间隔
|
|
- private var frequencyMargin: CGFloat = 3
|
|
|
|
|
|
+ private var frequencyMargin: CGFloat = adapterWidth(width: 3)
|
|
/// 竖线和contentview 父视图的左右间隔
|
|
/// 竖线和contentview 父视图的左右间隔
|
|
private var margin: CGFloat = (cScreenWidth - adapterWidth(width: 250)) / 2
|
|
private var margin: CGFloat = (cScreenWidth - adapterWidth(width: 250)) / 2
|
|
|
|
|
|
@@ -75,6 +75,9 @@ class PQStuckPointCuttingView: UIView {
|
|
var wavSelectCount: Int = 0
|
|
var wavSelectCount: Int = 0
|
|
// 整首歌的线的个数
|
|
// 整首歌的线的个数
|
|
var wavTotalCount: Int = 0
|
|
var wavTotalCount: Int = 0
|
|
|
|
+
|
|
|
|
+ //推荐虚线的位置
|
|
|
|
+ var startLineX:CGFloat = 0.0
|
|
/// 滚动视图
|
|
/// 滚动视图
|
|
lazy var scrollView: UIScrollView = {
|
|
lazy var scrollView: UIScrollView = {
|
|
let scrollView = UIScrollView(frame: bounds)
|
|
let scrollView = UIScrollView(frame: bounds)
|
|
@@ -160,7 +163,7 @@ class PQStuckPointCuttingView: UIView {
|
|
func updateEndTime(startTime: CGFloat, endTime: CGFloat) {
|
|
func updateEndTime(startTime: CGFloat, endTime: CGFloat) {
|
|
stuckPointStartTime = startTime
|
|
stuckPointStartTime = startTime
|
|
stuckPointEndTime = endTime
|
|
stuckPointEndTime = endTime
|
|
-
|
|
|
|
|
|
+ BFLog(message: "推荐开始\(stuckPointStartTime) 结束\(stuckPointEndTime) 时长为:\(stuckPointEndTime - stuckPointStartTime)")
|
|
backgroundColor = PQBFConfig.shared.styleBackGroundColor
|
|
backgroundColor = PQBFConfig.shared.styleBackGroundColor
|
|
addSubview(scrollView)
|
|
addSubview(scrollView)
|
|
|
|
|
|
@@ -217,17 +220,8 @@ class PQStuckPointCuttingView: UIView {
|
|
// 1,处理音频频率
|
|
// 1,处理音频频率
|
|
configVoiceFrequency()
|
|
configVoiceFrequency()
|
|
// 2,滚动到推荐位置
|
|
// 2,滚动到推荐位置
|
|
- if scrollView.frame.width < scrollView.contentSize.width {
|
|
|
|
- var offsetX = (stuckPointStartTime / oneMarginTime) * (frequencyWidth + frequencyMargin) + timeLineWidth / 2
|
|
|
|
-
|
|
|
|
- if offsetX < 0 {
|
|
|
|
- offsetX = 0
|
|
|
|
- }
|
|
|
|
- if offsetX > (scrollView.contentSize.width - scrollView.frame.width) {
|
|
|
|
- offsetX = (scrollView.contentSize.width - scrollView.frame.width)
|
|
|
|
- }
|
|
|
|
- scrollView.contentOffset = CGPoint(x: offsetX, y: 0)
|
|
|
|
- }
|
|
|
|
|
|
+ scrollView.contentOffset = CGPoint(x: startLineX - margin, y: 0)
|
|
|
|
+
|
|
scrollView.addSubview(rateView)
|
|
scrollView.addSubview(rateView)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -291,7 +285,7 @@ class PQStuckPointCuttingView: UIView {
|
|
// 线的路径
|
|
// 线的路径
|
|
let linePath = UIBezierPath()
|
|
let linePath = UIBezierPath()
|
|
// 起点 timeLineWidth / 2 处理显示时间的 label中心为时间点
|
|
// 起点 timeLineWidth / 2 处理显示时间的 label中心为时间点
|
|
- let originX: CGFloat = CGFloat(Float(i) * Float(frequencyWidth + frequencyMargin)) + margin + timeLineWidth / 2
|
|
|
|
|
|
+ let originX: CGFloat = CGFloat(Float(i) * Float(frequencyWidth + frequencyMargin)) + margin
|
|
|
|
|
|
linePath.move(to: CGPoint(x: originX, y: startY))
|
|
linePath.move(to: CGPoint(x: originX, y: startY))
|
|
// 终点
|
|
// 终点
|
|
@@ -306,6 +300,7 @@ class PQStuckPointCuttingView: UIView {
|
|
// 推荐的开始起点是虚线
|
|
// 推荐的开始起点是虚线
|
|
if oneMarginTime * CGFloat(i) >= stuckPointStartTime && !isDrawLine {
|
|
if oneMarginTime * CGFloat(i) >= stuckPointStartTime && !isDrawLine {
|
|
isDrawLine = true
|
|
isDrawLine = true
|
|
|
|
+ startLineX = originX
|
|
linePath.move(to: CGPoint(x: originX, y: -10))
|
|
linePath.move(to: CGPoint(x: originX, y: -10))
|
|
// 终点
|
|
// 终点
|
|
linePath.addLine(to: CGPoint(x: originX, y: 30))
|
|
linePath.addLine(to: CGPoint(x: originX, y: 30))
|