4

我正在使用 aUILabel作为leftViewa 的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;

我已经尝试稍微改变标签的框架,但它没有用......

如何对齐两个文本?

4

1 回答 1

7

您可以创建一个容器视图,将UILabel1px 放置在其中。

    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;
于 2012-07-04T17:26:08.780 回答