我需要在文本后面保留占位符,当单击文本框时我需要只清除占位符并能够键入字符。
在这里,Marissa是名称文本,(名字)是占位符。一旦我开始编辑占位符需要清除并开始编辑完整的文本。
我如何实现这一目标?
答案 0 :(得分:1)
第1步:
将文本归档为xib
,并设置为“Marisa(名字)”
并将(名字)的颜色更改为灰色。
第2步:
在Textfiled DidBiginEditing
方法中,将textField.text
更改为“Marisa”。
答案 1 :(得分:1)
请参阅以下代码。
只需复制粘贴到viewdidload()
textfield.attributedPlaceholder = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"Yourtext%@",Placehodertext] attributes:@{NSForegroundColorAttributeName: color}];
将UITextfield
的代表人员分配给self
。
textfield.delegate = self
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
textfield.text = @"Yourtext"
return YES;
}
答案 2 :(得分:1)
您无法在文本字段中将占位符与文本一起设置。 但是有一个替代方案。 Textfields有一个称为左视图的东西,你可以进行readOnly视图。 试试这个:
UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
UILabel *textLabel = [[UILabel alloc] initWithFrame:paddingView.bounds];
textLabel.text = @"Marissa";
[paddingView addSubView:textLabel];
textField.leftView = paddingView;
textField.leftViewMode = UITextFieldViewModeAlways;
答案 3 :(得分:1)
答案 4 :(得分:0)
这可以通过以下几种方式实现:
使用attributedText
实例的UITextField
属性为文本的不同部分应用样式。在这里,您需要在每次用户使用delegate methods或观察UIControl
Control Events更改输入时正确定义属性。
如果文本输入的结构是固定的并且已预定义,则可以使用一批字段来模拟更复杂/智能的字段。例如,您需要在旁边放置两个字段。一个用于姓氏,第二个用于名字。或者,如果部分不可编辑,您可以使用UILabel
和UITextField
的组合。这种方法允许您根据需要配置复杂字段的单独部分:不同的占位符,字体,键盘样式等。