iOS 7 - UITextView 上的 linkTextAttributes 效果不佳

Posted

技术标签:

【中文标题】iOS 7 - UITextView 上的 linkTextAttributes 效果不佳【英文标题】:iOS 7 - linkTextAttributes on UITextView works badly 【发布时间】:2014-02-11 16:11:16 【问题描述】:

正如您在 UITextView 类中看到的那样,linkTextAttributes 似乎是 ios7 提供的一个新属性:

// Style for links
@property(nonatomic, copy) NSDictionary *linkTextAttributes NS_AVAILABLE_IOS(7_0);

它应该在UITextView 实例中为链接着色。所以我尝试在视图控制器(标签栏控制器的子级)中放置一个静态(不可编辑)UITextView,并将此属性设置如下:

@property (nonatomic,strong) IBOutlet UITextView *copyrightText;

- (void)viewDidLoad

    [super viewDidLoad];

    UIColor *linkColor = [UIColor colorWithRed:202.0f/255.0f green:202.0f/255.0f blue:202.0f/255.0f alpha:1];
    NSDictionary *attributes = @NSForegroundColorAttributeName:linkColor;
    self.copyrightText.linkTextAttributes = attributes;

但在第一次加载时,链接颜色似乎没有设置。然后,如果我切换到另一个 VC 并返回到当前 VC,链接颜色会发生变化。这段代码有什么问题?

【问题讨论】:

如何以及何时设置copyrightText 实例的文本? 来自故事板(它是一个静态的不可编辑的 UITextView) 似乎在 iOS 8 上已修复.. 【参考方案1】:

你可以试试这行代码。我总是在动画中使用它。我认为它可以帮助您在首次加载时实现该视图。

-----> [self.view layoutIfNeeded];

【讨论】:

以上是关于iOS 7 - UITextView 上的 linkTextAttributes 效果不佳的主要内容,如果未能解决你的问题,请参考以下文章

减少 UITextView iOS 7 上的行距

iOS 7 上的 UITextView contentOffset

iOS 7 + Calabash:带有 NSLinkAttributeName 的 UITextView 和链接上的可访问性不起作用

UITextView iOS 7的行数

iOS 7 UITextView 的原生链接不会取消触摸

iOS:通过自定义 UITableViewCell 上的 UITextView 进行选择