【发布时间】:2018-01-23 23:56:03
【问题描述】:
我有一个应用于 NSMutableAttributedString 的 NSMutableParagraphStyle 样式:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myString = "Before a telephone call, I need to go to the bathroom..."
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineBreakMode = NSLineBreakMode.byWordWrapping
let myMutableString = NSMutableAttributedString(
string: myString,
attributes: [
NSFontAttributeName:UIFont(
name: "Georgia",
size: 45.0
)!,
NSParagraphStyleAttributeName: paragraphStyle
]
)
let textView = UITextView( frame: CGRect(
x: 20,
y: 25,
width: 260,
height: 400
) )
textView.attributedText = myMutableString
self.view.addSubview( textView )
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
但是当我将可变字符串添加到 UITextView 时,它会不断破坏单词。
当我去paragraphStyle.lineBreakMode = NSLineBreakMode.byCharWrapping时,这个词没有出现在同一个地方......所以它确实有效果。但这仍然是片面的。我有一个在«c»之后中断的单词«call»,这非常奇怪。
这是我可以在故事板编辑器中重现的东西:
【问题讨论】:
-
对我来说,你的代码工作得很好,在一个使用 viewController.view 作为你的 textView 超级视图的空项目中,所以我认为你的问题是由我可以提供的其他东西引起的,你可以在这里看到imgur.com/a/q5rjI
-
你说得对,我打错了一些值。我进行了编辑,以便为您提供测试的全部内容。
标签: ios swift3 fonts nsmutablestring