【问题标题】:In iOS - How do I fit a UILabel to its text, without changing its position?在 iOS 中 - 如何在不改变其位置的情况下将 UILabel 适合其文本?
【发布时间】:2011-07-29 18:49:29
【问题描述】:

我在 UILabel 上调用 sizeToFit,其中包含右对齐文本。它会缩小UILabel 的高度和宽度,并将文本放在UILabel 的左上角。

现在...UILabel 的位置不正确。如何使UILabel 保持在其原始位置(右对齐)或移动它以使其显示在其原始位置?

再一次 - 问题是sizeToFit 方法正在缩小UILabel 右侧的宽度。它将UILabel 文本视为左对齐。但我的文字是右对齐的。所以,UILabel 的右侧边框是我的文本开始的地方。

【问题讨论】:

    标签: ios uilabel right-align sizetofit


    【解决方案1】:
    @implementation UILabel (Additions)
    
    - (void)sizeToFitWithAlignmentRight {
        CGRect beforeFrame = self.frame;
        [self sizeToFit];
        CGRect afterFrame = self.frame;
        self.frame = CGRectMake(beforeFrame.origin.x + beforeFrame.size.width - afterFrame.size.width, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
    }
    
    @end
    

    【讨论】:

      【解决方案2】:

      您检查前后的宽度,然后将视图的中心向右移动差异 / 2。

      顺便说一句,我认为“盒子”(框架)在两个方向上都缩小了,保持中心不变。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多