49

オブジェクトのattributedTextプロパティを設定できますか? UILabel以下のコードを試しました:

UILabel *label = [[UILabel alloc] init];
label.attributedText = @"asdf";

しかし、次のエラーが発生します。

タイプ「UILabel *」のオブジェクトにプロパティ「attributedText」が見つかりません

#import <CoreText/CoreText.h>動作していません

4

8 に答える 8

33

残念ながら、UILabel属性付き文字列はサポートされていません。代わりにOHAttributedLabelを使用できます。

更新: iOS6 以降、UILabel属性付き文字列をサポートしています。詳細については、以下のUILabel リファレンスまたは Michael Kessler の回答を参照してください。

于 2012-06-14T11:04:42.960 に答える
6

スウィフト 4 の場合:

iOS 11 および xcode 9.4

  let str = "This is a string which will shortly be modified into AtrributedString"

  var attStr = NSMutableAttributedString.init(string: str)

  attStr.addAttribute(.font,
                value: UIFont.init(name: "AppleSDGothicNeo-Bold", size: 15) ?? "font not found",
                range: NSRange.init(location: 0, length: str.count))

  self.textLabel.attributedText = attStr
于 2018-07-03T06:26:03.217 に答える
3

そのため、文字列のサブ文字列に対して異なるプロパティを持つコードを次に示します。

 NSString *str=@"10 people likes this";
    NSString *str2=@"likes this";
    if ([str hasSuffix:str2])
    {
        NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:str];

    // for string 1 //

        [string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0,str.length-str2.length)];
         [string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:14] range:NSMakeRange(0,str.length-str2.length)];
  // for string 2 //

        [string addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange((str.length-str2.length),str2.length)];
        [string addAttribute:NSFontAttributeName value:[UIFont italicSystemFontOfSize:12] range:NSMakeRange((str.length-str2.length),str2.length)];
        label.attributedText=string;
    }
    else
    {
        label.text =str;

    }
于 2015-01-20T11:41:01.673 に答える
1

お役に立てれば ;)

NSMutableAttributedString* attrStr = [NSMutableAttributedString attributedStringWithString:@"asdf"];
[attrStr setFont:[UIFont systemFontOfSize:12]];
[attrStr setTextColor:[UIColor grayColor]];
[attrStr setTextColor:[UIColor redColor] range:NSMakeRange(0,5)];
lbl.attributedText = attrStr;
于 2012-06-14T11:02:02.473 に答える
0
UIFont *font = [UIFont boldSystemFontOfSize:12];
NSDictionary *fontDict = [NSDictionary dictionaryWithObject: font forKey:NSFontAttributeName];
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:@" v 1.2.55" attributes: fontDict];

UIFont *fontNew = [UIFont boldSystemFontOfSize:17];
NSDictionary *fontDictNew = [NSDictionary dictionaryWithObject: fontNew forKey:NSFontAttributeName];
NSMutableAttributedString *attrStringNew = [[NSMutableAttributedString alloc] initWithString:@“Application” attributes: fontDictNew];
[attrStringNew appendAttributedString: attrString];
self.vsersionLabel.attributedText = attrStringNew;
于 2017-01-05T06:38:39.190 に答える