如何制作UILabel,将其文本调整到左上角?

don*_*ile 4 iphone uilabel

出于一些奇怪的原因,在iPhone OS 3.0中,这不起作用:我用numberOfLines = 0和制作了一个大的全屏UILabel baselineAdjustment = UIBaselineAdjustmentNone.

它拒绝在左上角显示文本.它始终位于边界框的中心,与左侧对齐.

文件说:

UIBaselineAdjustmentNone相对于边界框的左上角调整文本.这是默认调整.适用于iPhone OS 2.0及更高版本.

可能是框架错误?我开始用闪亮的新标签来测试它.文字居中.

dra*_*ard 10

默认实现垂直居中文本,不尊重该contentMode属性.drawTextInRect:在子类中实现.

@implementation TopLeftLabel

-(void) drawTextInRect:(CGRect)inFrame {
    CGRect      draw = [self textRectForBounds:inFrame limitedToNumberOfLines:[self numberOfLines]];

    draw.origin = CGPointZero;

    [super drawTextInRect:draw];
}

@end
Run Code Online (Sandbox Code Playgroud)

baselineAdjustment属性严格适用于调整字体大小以适应宽度.