1. ホーム
  2. ios

[解決済み] 取り消し線付きのUILabelを作成するには?

2022-06-04 18:45:28

質問

私は UILabel を作り、その中に以下のようなテキストを入れたい。

<イグ

どうすればいいのでしょうか?文字が小さいと、線も小さくなるはずです。

どのように解決するのですか?

swift 5 アップデートコード

let attributeString: NSMutableAttributedString = NSMutableAttributedString(string: "Your Text")
    attributeString.addAttribute(NSAttributedString.Key.strikethroughStyle, value: 2, range: NSRange(location: 0, length: attributeString.length))

にしてから

yourLabel.attributedText = attributeString

文字列の一部を打つようにしたい場合は、範囲を指定します。

let somePartStringRange = (yourStringHere as NSString).range(of: "Text")
attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: somePartStringRange)


Objective-C

iOS 6.0 > UILabel サポート NSAttributedString

NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"Your String here"];
[attributeString addAttribute:NSStrikethroughStyleAttributeName
                        value:@2
                        range:NSMakeRange(0, [attributeString length])];

スウィフト

let attributeString: NSMutableAttributedString =  NSMutableAttributedString(string: "Your String here")
attributeString.addAttribute(NSStrikethroughStyleAttributeName, value: 2, range: NSMakeRange(0, attributeString.length))

定義 :

- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)aRange

Parameters List:

名前 : 属性名を指定する文字列です。属性キーは他のフレームワークから供給されることも、自分で定義したカスタムキーであることもできます。システムが提供する属性キーがどこにあるかについては、NSAttributedStringクラスリファレンスの概要のセクションを参照してください。

: nameに関連付けられた属性値。

a範囲 : 指定された属性と値のペアが適用される文字の範囲。

では

yourLabel.attributedText = attributeString;


のために lesser than iOS 6.0 versions には 3-rd party component を実行する必要があります。 そのうちのひとつは TTTAttributedLabel であり、もうひとつは OHAttributedLabel .