如何在 iOS 中为 TTTAttributedLabel LinkAttributes 添加 NSDictionary UIColor
How to add NSDictionary UIColor in iOS for TTTAttributedLabel LinkAttributes
我已经为 https://github.com/TTTAttributedLabel/TTTAttributedLabel
使用 Xamarin 绑定
并且根据 -
Make link in UILabel.attributedText *not* blue and *not* underlined
self.label.linkAttributes = @{NSForegroundColorAttributeName: color,
NSUnderlineStyleAttributeName: @(NSUnderlineStyleNone)};
我想设置我的 link 属性,我只是不确定语法 -
我试过这些变体 -
label.LinkAttributes = new NSDictionary(
new NSString("NSForegroundColorAttributeName"), UIColor.Red,
new NSString("NSUnderlineStyleAttributeName"), new NSUnderlineStyle() == NSUnderlineStyle.Double);
label.LinkAttributes = new NSDictionary(
new NSString("NSForegroundColorAttributeName"), UIColor.Red,
new NSString("NSUnderlineStyleAttributeName"), new NSNumber(2));
但是没有用。不确定如何传入 UIColor,因为看不到它的可用类型,它正在做 "something" 因为它用这段代码擦掉了我的下划线 + 蓝色。
以下代码行取自您链接的项目的 github README.md。
(id)kCTForegroundColorAttributeName : (id)[UIColor redColor].CGColor,
看起来图书馆处理的是 CGColor
而 不是 UIColor
(或 NSColor
,它们只是 OSX) .有(太多)多种方式来表示颜色,遗憾的是,大多数 API 只适用于一种。在这种情况下,您需要使用:
UIColor.Red.CGColor
而不是:
UIColor.Red
在你给你标签的 LinkAttributes
属性 的字典里。
键 kCTForegroundColorAttributeName
(来自您的评论)还必须与 Apple 的常量值匹配,该值可以不同于常量的名称。在 Xamarin.iOS 中,此常量公开为:
CoreText.CTStringAttributeKey.ForegroundColor
所以如果库(重新)使用 CoreText 常量,那么这就是要使用的值。
我已经为 https://github.com/TTTAttributedLabel/TTTAttributedLabel
使用 Xamarin 绑定并且根据 - Make link in UILabel.attributedText *not* blue and *not* underlined
self.label.linkAttributes = @{NSForegroundColorAttributeName: color,
NSUnderlineStyleAttributeName: @(NSUnderlineStyleNone)};
我想设置我的 link 属性,我只是不确定语法 -
我试过这些变体 -
label.LinkAttributes = new NSDictionary(
new NSString("NSForegroundColorAttributeName"), UIColor.Red,
new NSString("NSUnderlineStyleAttributeName"), new NSUnderlineStyle() == NSUnderlineStyle.Double);
label.LinkAttributes = new NSDictionary(
new NSString("NSForegroundColorAttributeName"), UIColor.Red,
new NSString("NSUnderlineStyleAttributeName"), new NSNumber(2));
但是没有用。不确定如何传入 UIColor,因为看不到它的可用类型,它正在做 "something" 因为它用这段代码擦掉了我的下划线 + 蓝色。
以下代码行取自您链接的项目的 github README.md。
(id)kCTForegroundColorAttributeName : (id)[UIColor redColor].CGColor,
看起来图书馆处理的是 CGColor
而 不是 UIColor
(或 NSColor
,它们只是 OSX) .有(太多)多种方式来表示颜色,遗憾的是,大多数 API 只适用于一种。在这种情况下,您需要使用:
UIColor.Red.CGColor
而不是:
UIColor.Red
在你给你标签的 LinkAttributes
属性 的字典里。
键 kCTForegroundColorAttributeName
(来自您的评论)还必须与 Apple 的常量值匹配,该值可以不同于常量的名称。在 Xamarin.iOS 中,此常量公开为:
CoreText.CTStringAttributeKey.ForegroundColor
所以如果库(重新)使用 CoreText 常量,那么这就是要使用的值。