如何将用作UITextField中的左视图的UILabel与textField的文本垂直alignment?
我使用UILabel
作为UITextField
的leftView
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;