diff --git a/Example/Base.lproj/Main.storyboard b/Example/Base.lproj/Main.storyboard index af8082b..dfe9a99 100644 --- a/Example/Base.lproj/Main.storyboard +++ b/Example/Base.lproj/Main.storyboard @@ -52,6 +52,9 @@ + + + @@ -99,6 +102,9 @@ + + + diff --git a/Sources/Extensions/CALayer+Extensions.swift b/Sources/Extensions/CALayer+Extensions.swift index b4c9d47..43f736e 100644 --- a/Sources/Extensions/CALayer+Extensions.swift +++ b/Sources/Extensions/CALayer+Extensions.swift @@ -36,7 +36,7 @@ extension CALayer { return sublayers?.filter { $0.name == CALayer.skeletonSubLayersName } ?? [CALayer]() } - func addMultilinesLayers(lines: Int, type: SkeletonType, lastLineFillPercent: Int) { + func addMultilinesLayers(lines: Int, type: SkeletonType, lastLineFillPercent: Int, multilineCornerRadius: Int) { let numberOfSublayers = calculateNumLines(maxLines: lines) for index in 0.. CALayer { + func makeMultilineLayer(withType type: SkeletonType, for index: Int, width: CGFloat, multilineCornerRadius: Int) -> CALayer { let spaceRequiredForEachLine = SkeletonDefaultConfig.multilineHeight + SkeletonDefaultConfig.multilineSpacing let layer = type.layer layer.anchorPoint = .zero layer.name = CALayer.skeletonSubLayersName layer.frame = CGRect(x: 0.0, y: CGFloat(index) * spaceRequiredForEachLine, width: width, height: SkeletonDefaultConfig.multilineHeight) + + layer.cornerRadius = CGFloat(multilineCornerRadius) + layer.masksToBounds = true + return layer } } @@ -77,7 +81,7 @@ struct SkeletonLayer { func addMultilinesIfNeeded() { guard let multiLineView = holder as? ContainsMultilineText else { return } - maskLayer.addMultilinesLayers(lines: multiLineView.numLines, type: type, lastLineFillPercent: multiLineView.lastLineFillingPercent) + maskLayer.addMultilinesLayers(lines: multiLineView.numLines, type: type, lastLineFillPercent: multiLineView.lastLineFillingPercent, multilineCornerRadius: multiLineView.multilineCornerRadius) } }