在我的应用程序中,我正在尝试创建如下所示的 UITextFields:
| Name: John Doe |
| Email: asdf@gmail.com |
| Number: (123)456-7890 |
名称是一个永远不可编辑的左 View 标签,标签上有一个小的常量左填充,标签上有一个右填充,因此占位符文本/文本字段中的实际文本都从同一个地方开始。
我试着给它们一个恒定的宽度,然后从左边填充标签,但是标签文本一直出现在左边,那里没有填充,就像这样:
|Name: John Doe |
|Email: asdf@gmail.com |
|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 制作的,看起来应该是这样,除了:
文本/占位符需要从左 View 标签填充。它似乎就在它旁边,但需要填充。如何添加此填充?
最佳答案
不幸的是,我求助于创建 UITextField 的子类并更改文本字段左 View 的原点。这是我所做的:
- (CGRect) leftViewRectForBounds:(CGRect)bounds {
CGRect textRect = [super leftViewRectForBounds:bounds];
textRect.origin.x += 10;
return textRect;
}
关于ios - UITextField 内的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20875350/