如何将UILabel居中对齐在UIImageView的顶部

时间:2012-12-27 17:14:33

标签: ios uiimageview uilabel

我有一个UIImageView,它上面有一个UILabel。这个UILabel有一个文本,向用户显示有多少人喜欢他的内容(有点像Facebook喜欢或评论), UIImageView和UILabel都很小,所以UI需要完美。现在,如果UILabel显示一个2位数字,它仍然显示正确对齐但当我进入3个数字时,它会偏离,我怎样才能确保我总能通过代码将它与UIImageView对齐?

3 个答案:

答案 0 :(得分:1)

类似于斯科特的答案,但是海报要求的代码

//assume that UIImageView (imageView) and UILabel (label) are already defined
label.frame = CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y - label.frame.size.height, imageView.frame.size.width, label.frame.size.height);
label.textAlignment = UITextAlignmentCenter;

注意:您还需要确保UILabel的struts和autoresize掩码与UIImageView的掩码相匹配,以确保在不同大小和不同方向的屏幕上正确显示。

答案 1 :(得分:0)

正在进行的截图很不错,但您可以尝试使标签与图像的宽度相同,然后将标签的文本居中。

答案 2 :(得分:0)

试试这个:

UILabel *label = [[UILabel alloc] initWithFrame:imageView.frame];
label.textAlignment = NSTextAlignmentCenter;

这可能会起作用,因为在iOS 6及更高版本中不推荐使用UITextAlignmentCenter。