【问题标题】:How to center align a UILabel on top of an UIImageView如何在 UIImageView 顶部居中对齐 UILabel
【发布时间】:2012-12-27 17:14:33
【问题描述】:

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

【问题讨论】:

    标签: ios uiimageview uilabel


    【解决方案1】:

    与 Scott 的回答类似,但使用的是发帖人要求的代码

    //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 的相匹配,以确保它在不同尺寸和不同方向的屏幕上看起来合适。

    【讨论】:

    • 这很好,但问题是当我将数字向上移动到 100 时,标签会移动到框的右侧。
    • 好的,请发截图,很难想象发生了什么
    • 其实没关系,你明白了,这段代码完美运行。谢谢兄弟,
    【解决方案2】:

    如果有发生的事情的屏幕截图会很好,但您始终可以尝试使标签与图像的宽度相同,然后将标签的文本居中。

    【讨论】:

      【解决方案3】:

      试试这个:

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

      这可能会起作用,因为 UITextAlignmentCenter 在 iOS 6 及更高版本中已弃用。

      【讨论】:

        猜你喜欢
        • 2020-12-17
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 2020-11-13
        • 2014-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多