如何将用作UITextField中的左视图的UILabel与textField的文本垂直alignment?

我使用UILabel作为UITextFieldleftView UITextField 。 问题是textField的文本比标签的高。

这是我迄今使用的代码

 UILabel *startsWith = [[UILabel alloc] init]; startsWith.font = [UIFont systemFontOfSize:14]; startsWith.textColor = [UIColor blackColor]; startsWith.backgroundColor = [UIColor clearColor]; startsWith.text = @"Text"; [startsWith sizeToFit]; self.textField.leftViewMode = UITextFieldViewModeAlways; self.textField.leftView = startsWith; 

我试过稍微改变标签的框架,但它没有工作…

我怎样才能alignment两个文本?

您可以创build一个容器视图,将UILabel 1px放置在其中。

  UIView * v = [[UIView alloc] init]; v.backgroundColor = [UIColor clearColor]; UILabel *startsWith = [[UILabel alloc] init]; startsWith.font = self.textfield.font; startsWith.textAlignment = self.textfield.textAlignment; startsWith.textColor = [UIColor blackColor]; startsWith.backgroundColor = [UIColor clearColor]; startsWith.text = @"Text"; [startsWith sizeToFit]; startsWith.frame = CGRectOffset(startsWith.frame, 0, -1); v.frame = startsWith.frame; [v addSubview:startsWith]; self.textfield.leftViewMode = UITextFieldViewModeAlways; self.textfield.leftView = v;