2017-04-24 13 views
0

私は、これが誰かを助けることを願って、私自身の質問に答えて、次に答えるつもりです。iOS 10.3.1アップデートでNSAttributedStringプロパティが壊れていますか?

このアプリでは、NSMutableAttributedStringを使用して、文字列の特定の部分に取り消し線属性を定義しました。

NSRange range = [fullString rangeOfString:product.originalDeal]; 
    [dealString addAttribute:NSFontAttributeName value:[UIFont fontWithSize:12] range:range]; 
    [dealString addAttribute:NSStrikethroughStyleAttributeName value:@1 range:range]; 
    [dealString addAttribute:NSStrikethroughColorAttributeName value:[UIColor grayColor] range:range]; 
    [dealString addAttribute:NSForegroundColorAttributeName value:[UIColor grayColor] range:range]; 

iOS 10.3では、取り消し線機能が一貫して発生しなくなったことに気付きました。時にはそれは存在し、それ以外の時間は不在でした。

質問:どのように取り消し線が再び作業を取得するには?

[dealString addAttribute:NSBaselineOffsetAttributeName value:@(1) range:range]; 

を私たちの属性リストの一番下に:

答えて

0

は、ここではそれを修正する方法です。これは、iOS 10.3と10.2の両方の問題を克服しました。文字列が含まれている場合、要素\nとオフセット属性の範囲は、その要素を含んで、それも(何取り消し線)を破るないことを

注意。ストライク・スルーを生成するために、オフセットをストリングの一部に適用しました。

その他の属性 - 灰色とフォント - 影響を受けませんでした。

関連する問題