JXSegmentedView icon indicating copy to clipboard operation
JXSegmentedView copied to clipboard

使用TitleStroke相关属性下,emoji有部分表情丢失

Open dawnnnnn opened this issue 4 years ago • 1 comments

        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

以上设置,因为isTitleStrokeWidthEnabledtitleSelectedStrokeWidth 对emoji的重绘有时候无效,导致部分emoji丢失,例如 “🍺”

dawnnnnn avatar Apr 01 '20 09:04 dawnnnnn

这个问题可以表述为开启了isTitleStrokeWidthEnabled,会调用代码attriText.addAttributes([NSAttributedString.Key.strokeWidth: myItemModel.titleCurrentStrokeWidth], range: NSRange(location: 0, length: title.count)),然后设置了strokeWidth属性,就会导致emoji无法正确显示。这个属于系统层面的问题了,我无能为力。建议你选择emoji的话,就不要开启isTitleStrokeWidthEnabled了。

pujiaxin33 avatar Apr 09 '20 01:04 pujiaxin33