注:
实现:
<router-outlet (activate)="notifyChild()"></router-outlet>
不解决了我的问题,这不是我要求的。
我想要达到的目的是让标签的对齐方式为 Right-Justify 。
更清晰:
myLabel.textAlignment = .right
对齐的样子:
这就是left
对齐的样子:
如果您没有看到两个屏幕截图之间的任何差异,您可以通过标签的右侧(尾随)约束识别它,您将在第二个屏幕截图中注意到标签的整个宽度已被填充文本。
如第二个屏幕截图所示,默认情况下,让标签对齐会使其左对齐,即最后一行对齐为justify
。
如何让标签向右对齐?换句话说,我希望文本就像第二个屏幕截图一样,只是我希望最后一条短线向右移动。
如果你想知道做这种事情的目的是什么,那么从右到左语言是合适的。
答案 0 :(得分:3)
感谢@user6788419提及appropriate answer。
为实现这一目标,您应该使用NSMutableParagraphStyle:
一个对象,可以更改a中子属性的值 段落样式属性。
它使您能够同时alignment
和baseWritingDirection
,从而获得所需的输出:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var lblDescription: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
let text: NSMutableAttributedString = NSMutableAttributedString(string: "In vertebrates, it is composed of blood cells suspended in blood plasma. Plasma, which constitutes 55% of blood fluid, is mostly water (92% by volume), and contains dissipated proteins...")
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .justified
paragraphStyle.baseWritingDirection = .rightToLeft
paragraphStyle.lineBreakMode = .byWordWrapping
text.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSMakeRange(0, text.length))
lblDescription.attributedText = text
}
}
输出结果为:
答案 1 :(得分:0)
ENUM
没有right justified
可用!
您必须从NSTextAlignmentLeft,NSTextAlignmentRight,NSTextAlignmentCenter,NSTextAlignmentJustified,NSTextAlignmentNatural
中选择。
您添加了xcode界面构建器的屏幕截图!一旦在模拟器或设备中检查它。
如果您希望标签中左侧或右侧的空格带有对齐的文字,那么您可以使用edge insets
进行播放。