JXSegmentedView
JXSegmentedView copied to clipboard
使用TitleStroke相关属性下,emoji有部分表情丢失
let dataSource = JXSegmentedTitleDataSource()
dataSource.isItemSpacingAverageEnabled = false
dataSource.titleNormalColor = .cA5A5A5
dataSource.titleNormalFont = .PFSCRegularFont(ofSize: 12)
dataSource.titleSelectedColor = .c333333
dataSource.titleSelectedZoomScale = 1.3
dataSource.titleSelectedStrokeWidth = -2
dataSource.isTitleZoomEnabled = true
dataSource.isTitleStrokeWidthEnabled = true
dataSource.isTitleColorGradientEnabled = true
dataSource.isSelectedAnimable = true
以上设置,因为isTitleStrokeWidthEnabled
和 titleSelectedStrokeWidth
对emoji的重绘有时候无效,导致部分emoji丢失,例如 “🍺”
这个问题可以表述为开启了isTitleStrokeWidthEnabled,会调用代码attriText.addAttributes([NSAttributedString.Key.strokeWidth: myItemModel.titleCurrentStrokeWidth], range: NSRange(location: 0, length: title.count))
,然后设置了strokeWidth属性,就会导致emoji无法正确显示。这个属于系统层面的问题了,我无能为力。建议你选择emoji的话,就不要开启isTitleStrokeWidthEnabled了。