iphone - 如何从底部对齐 UILabel 文本?

标签 iphone ios alignment uilabel

UILabel 如何从底部对齐。比方说,我的标签可以容纳三行文本。如果输入文本是单行,那么该行应该位于标签的底部。请引用下图以便更好地理解。橙色区域是标签的全框。目前它只有一行,并且居中对齐。所以我想要的是,无论有多少行,它都应该始终与底部对齐。

enter image description here

请提出您的想法。

谢谢。

最佳答案

这里有两种方法...

1. 首先将 numberOfLines 设置为 0,然后使用 UILabelsizeToFit 属性,这样您的 UILabel 以其 contentSize 显示。

yourLabel.numberOfLines = 0;

[yourLabel sizeToFit];

从此链接查看更多信息:Vertically align text within a UILabel

2. 另一种选择是采用 UITextField 而不是 UILabel 并将 userInteractionEnabled 设置为 NO 像下面...

[yourTextField setUserInteractionEnabled:NO];

然后将 contentVerticalAlignment 属性设置为底部,如下所示...

[yourTextField setContentVerticalAlignment:UIControlContentVerticalAlignmentBottom];

更新

此外,使用 UITextField,我们无法实现多行。因此,我们可以使用 UITextView 并将其 userInteractionEnabled 设置为 NO。然后,使用下面的代码使其底部对齐。

CGFloat topCorrect = ([label bounds].size.height - [label contentSize].height);
topCorrect = (topCorrect <0.0 ? 0.0 : topCorrect);
label.contentOffset = (CGPoint){.x = 0, .y = -topCorrect};

关于iphone - 如何从底部对齐 UILabel 文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18247934/

相关文章:

ios - 清除数据源,重新加载数据,单元格仍然有旧信息?

ios - 如何在 Objective C 中的 Google map 上动态创建多个图钉

iphone - CoreData 获取具有相同值的实体

iphone - UIView - 居中对齐 UIView 的所有内容?

ios - 从 Firebase 字典中获取结果?

html - 跨度不会在页脚中右对齐

css - 如何删除元素上的空格?

ios - 如何设置 UIWindow 边界以支持 iOS 9 iPad 上的多任务处理?

iphone - NSMutableArray - 删除重复项

jquery - 自定义 jQuery 图表中的文本对齐方式