我们有一个带有3个组件的属性字符串,其中两个是基本字符串,第三个是链接。该字符串由UITextView呈现。奇怪的是,这个链接在iPhone上是不可见的,但在iPad上渲染得很好。无论模拟器还是实际手机,行为都是一致的。
尝试更改链接的颜色无效。有趣的是,设置下划线颜色将显示下划线...但文本仍然是不可见的。
iOS 7,Xcode 5
这是我们的代码:
// put together our text for the about view, includes link to Facebook
UIFont *font = [UIFont fontWithName:@"Sansation_Bold_Italic" size:aboutText.font.pointSize];
UIFont *linkFont = [UIFont fontWithName:@"Sansation_Italic" size:aboutText.font.pointSize];
NSMutableDictionary* linkAttributes = [[NSMutableDictionary alloc] init];
[linkAttributes setObject:@"https://www.facebook.com/App" forKey:NSLinkAttributeName];
[linkAttributes setObject:[NSNumber numberWithInt:NSUnderlineStyleSingle] forKey:NSUnderlineStyleAttributeName];
[linkAttributes setObject:[UIColor blueColor] forKey:NSStrokeColorAttributeName];
[linkAttributes setObject:[UIColor blueColor] forKey:NSUnderlineColorAttributeName];
[linkAttributes setObject:linkFont forKey:NSFontAttributeName];
NSAttributedString* link = [[NSAttributedString alloc] initWithString:@"Facebook" attributes:linkAttributes];
NSMutableAttributedString* mas = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"ABOUTMSG1", nil)];
[mas appendAttributedString:link];
[mas appendAttributedString:[[NSAttributedString alloc] initWithString:NSLocalizedString(@"ABOUTMSG2", nil)]];
[aboutText setAttributedText:mas];
iPhone
ipad公司
有关为什么链接没有在iPhone上呈现的任何想法?
答案 0 :(得分:0)
出于某种奇怪的原因,颜色似乎是“ClClear。”
在任何情况下,如果您将linkTextAttributes
的{{1}}设置为空
( Swift 中的
UITextView
)
然后,您可以为链接设置自定义颜色,与任何其他文本一样。