swift:粗体或斜体文字

时间:2018-03-25 17:40:10

标签: ios swift

有一些方法可以在字符串或JSON(不在标签中)中编辑文本吗?我想在字符串中执行 italic 粗体文本。有一些符号可以编辑文字:**_,例如\n \n\n来修改行空间?

我在代码中的例子:

textLabel.text = "**my bold text** or _italic_"

应该是:我的粗体文字斜体

2 个答案:

答案 0 :(得分:1)

您似乎希望在 render() { return ( <div> <Button color="danger" onClick={this.toggle}>{this.props.buttonLabel}</Button> { this.state.modal && <Modal isOpen={this.state.modal} toggle={this.toggle} className={this.props.className}> <ModalHeader toggle={this.toggle}>Modal title</ModalHeader> <ModalBody> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </ModalBody> <ModalFooter> <Button color="primary" onClick={this.toggle}>Do Something</Button>{' '} <Button color="secondary" onClick={this.toggle}>Cancel</Button> </ModalFooter> </Modal> } </div> ); } }

上呈现来自JSON的降价

有许多pod将markdown文本转换为UILabel。 Google快速搜索为我提供了thisthis

您只需使用NSAttributedString或SwiftyJSON将标记下载为JSON中的文本,将其传递给pod提供的API,获取属性字符串,并将其设置为标签的JSONDecoder

attributedText

答案 1 :(得分:0)

您可以使用NSAttributedString或NSMutableAttributedString类。下面的示例将使UILabel中的文本称为myLabel粗体。

let myString = "Your text here!"
let fontSize = UIFont.systemFontSize
let myAttributes = [NSFontAttributeName: UIFont.boldSystemFont(ofSize: fontSize), NSForegroundColorAttributeName: UIColor.black]
let myMutableString = NSMutableAttributedString(string: myString, attributes: myAttributes)
myLabel.attributedText = myMutableString

Apple文档here中提供了更多信息。

编辑:我的回答只是使用属性字符串的简单演示。 @Sweeper的答案对于这种情况来说是一个更好的答案。使用pod比自己编写字符串解析代码容易得多!