- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 UITextView
中有以下 HTML,我想将其呈现到 UITextView
笔记是我的 body
<a href="/arc/item/21">food item - more item stuff</a>;`
让我补充一下:它目前显示为蓝色并带有下划线且不可点击。我想让它加粗并且不可点击。我已经阅读了关于 linkTextAttributes
的文档,但是,没有使用过它,这有点超出我的范围,我真的没有看到任何简单的方法来操作它。我如何将上述链接呈现为粗体和黑色(不是蓝色)并保持不可点击的性质?
最佳答案
更新(使用 UITextView's linkTextAttributes 的解决方案)
self.testTextView.editable = NO;
self.testTextView.selectable = YES;
self.testTextView.userInteractionEnabled = NO; // workaround to disable link - CAUTION: it also disables scrolling of UITextView content
self.testTextView.dataDetectorTypes = UIDataDetectorTypeLink;
self.testTextView.linkTextAttributes = @{NSFontAttributeName : [UIFont boldSystemFontOfSize:14.0f], // NOT WORKING !?
NSForegroundColorAttributeName : [UIColor redColor]};
...
self.testTextView.text = @"Lorem ipsum http://www.apple.com Lorem ipsum";
正如您在评论中看到的,我无法为 linkTextAttributes 设置新字体,尽管颜色属性按预期工作。
如果您可以使用颜色属性或其他一些文本属性来设置您的 URL 样式并且您不必担心禁用 UITextView 滚动,那么这可能是您的解决方案。
上一个(替代解决方案)
如果您使用的是 Storyboard/xib,请确保您已为 UITextView 取消选择 Detection -> Links。您可以通过将其容器字体设置为某种粗体字体来使您的链接变粗。如果你想在一个字符串对象中支持不同的文本/字体样式,那么你真的应该寻找 NSAttributedString 或 NSMutableAttributedString。
示例:
UIFont *linkFont = [UIFont fontWithName:@"SomeBoldTypeface" size:12];
NSString *link = @"food item - more item stuff";
NSMutableAttributedString *someString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"is my body for the note %@; let me ad", link]];
[someString addAttribute:NSFontAttributeName value:linkFont range:NSMakeRange(24, link.length)];
UITextView *textView = [[UITextView alloc] init];
textView.attributedText = someString;
...
关于ios - 如何将 UITextView 的文本设置为粗体且不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22064380/
下面是我用来制作 1px 文本描边轮廓的代码。但是如何使轮廓变粗呢?如果我只是用“5px”替换所有“1px”,结果看起来很疯狂。 HTML Hello! CSS .element { color:
我是一名优秀的程序员,十分优秀!