您是否曾在视图控制器中放置一个标签,为它添加一些精美的文字,然后运行您的应用程序,对自己所有文字只在一行显示而感到尴尬?
您可能的第一反应是跑到Interface Builder中去调整标签的宽度,让行看起来更加均匀。但是当您需要显示不同的文本,或者您app实现了本地化,或者使用了动态类型时会发生什么?在这种情况下,保持一切正常运行变成一场噩梦。
BCBalancedMultilineLabel将负责调整换行,使得每一行尽可能地相等,从而使您的文本看起来很美。它同样支持左、右和对齐。
它还简化了对几个其他UILabel
属性的操控
numberOfLines
默认为0
,因为这个标签是设计用于显示可以使用多行换行的内容。preferredMaxLayoutWidth
会与标签的frame宽度同步,这有助于确保在自动布局中使用时,标签的大小是按照预期进行缩放的。在项目中使用BCBalancedMultilineLabel非常简单!只需将Interface Builder或Objective-C或Swift代码中标签的类更改为BCBalancedMultilineLabel而不是UILabel,完成就可以啦!
UILabel *label = [[BCBalancedMultilineLabel alloc] initWithFrame:CGRectMake(0, 0, 300, 50)];
label.text = @"My cool app";
[self.view addSubview:label];
let label = BCBalancedMultilineLabel(frame: CGRect(x: 0, y: 0, width: 300, height: 50))
label.text = "My cool app"
view.addSubview(label)
要运行示例项目,请克隆仓库,然后首先从示例目录运行pod install
。
Brian Croom, [email protected]
BCBalancedMultilineLabel是在MIT许可证下可用的。更多信息请参阅LICENSE文件。