3

В моем приложении я пытаюсь создать UITextFields, который выглядит так:этикетки внутри UITextField

| Name:  John Doe  | 
| Email:  [email protected] | 
| Number: (123)456-7890 | 

Имя является левой меткой вида, что никогда не будет доступны для редактирования, есть небольшая постоянная левая обивка на ярлыки и правое заполнение на ярлыке, чтобы текст текста/фактического текста заполнителя в текстовом поле начинался с того же места.

Я попытался дать им всю постоянную ширину, то дополняя этикетку с левой стороны, а затем текст этикетки появился весь путь влево без заполнения там, как это:

|Name:  John Doe  | 
|Email:  [email protected] | 
|Number: (123)456-7890 | 

Теперь, как я пытаюсь реализовать его, заключается в следующем:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 0, 70, 40)]; 
label.text = @"Name:"; 
label.font = [label.font fontWithSize:20]; 
label.textAlignment = NSTextAlignmentRight; 
self.testTextField.layer.borderColor=[[UIColor lightGrayColor]CGColor]; 
self.testTextField.layer.borderWidth= 1.0f; 
label.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.0]; 
self.testTextField.leftViewMode = UITextFieldViewModeAlways; 
self.testTextField.leftView = label; 

текстовое поле было сделано с IB, и похоже, что он должен, кроме:

текст/заполнитель необходим коврик ding из метки слева. Кажется, он находится рядом с ним, но его нужно дополнять. Как добавить это дополнение?

ответ

3

К сожалению, я прибегал к созданию подкласса UITextField и изменению начала левого представления текстового поля. Вот что я сделал:

- (CGRect) leftViewRectForBounds:(CGRect)bounds { 
    CGRect textRect = [super leftViewRectForBounds:bounds]; 
    textRect.origin.x += 10; 
    return textRect; 
} 
Смежные вопросы