垂直移位UILabel文本不影响背景

时间:2014-03-28 09:46:27

标签: ios objective-c

我一直试图弄清楚如何将我的UILabel文本垂直对齐到顶部或底部。问题是,我背后有一个图像,它也会随文本移动。

有没有办法让背景颜色/图像保持原位,但只能向上或向下移动文字?

这是当前的代码:

- (id)initWithFrame:(CGRect)frame {
  self = [super initWithFrame:frame];
  if (!self) return nil;

  UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,
                                                             0,
                                                             frame.size.width,
                                                             frame.size.height)];
  label.textAlignment = NSTextAlignmentLeft;
    label.font = [UIFont fontWithName:@"AvenirNext-Bold" size:12];

  label.backgroundColor = [UIColor clearColor];

  [self addSubview:label];
  self.numberLabel = label;
  self.layer.cornerRadius = 3;
  return self;
}

我一直在关注本教程,但它会改变一切,包括我的标签背景。 Vertically align text to top within a UILabel

2 个答案:

答案 0 :(得分:0)

找到文字的高度。 使用其他视图显示图像。 设置标签相对图像视图的框架与文本的高度和您要为标签设置的任何位置。

答案 1 :(得分:0)

如果您没有使用自动布局,请在标签上显示:

[YOUR_LABEL sizeToFit];

这会调整标签大小以适合文本。

背景图片是什么?单独的UIImageView?你是如何设置这个图像的?