繁体   English   中英

UITextField,在iOS中的文本后设置占位符

[英]UITextField, set placeholder after text in ios

我需要在文本后保留占位符,当单击文本框时,我只需要清除占位符并能够键入字符。 在此处输入图片说明

在此Marissa中,名称文本为(First Name)为占位符。 一旦我开始编辑占位符,需要清除并开始编辑完整文本。

我该如何实现?

我在下面的URL中找到了一些类似的自定义文本字段。 如果您觉得合适,可以使用它。

在此处输入图片说明

辅导/资料来源

步骤1:将文本字段的属性设置为xib然后设置“ Marisa(名字)”,并将(名字)的颜色更改为灰色。

步骤2:在Textfiled DidBiginEditing方法中,将textField.text更改为“ Marisa”。

请参考下面的代码。

只需将以下代码复制粘贴到viewdidload()

textfield.attributedPlaceholder = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"Yourtext%@",Placehodertext] attributes:@{NSForegroundColorAttributeName: color}];

UITextfield Delegate分配给self

textfield.delegate =  self


-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
   textfield.text = @"Yourtext"
   return YES;
}

您不能在文本字段中设置占位符以及文本。 但是,对此有另一种选择。 文本字段具有一种称为“左视图”的视图,您可以将其设置为“只读”视图。 尝试这个 :

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;

这可以通过几种方式实现:

  1. 使用UITextField实例的attributedText属性为文本的不同部分应用样式。 在这里,每次用户通过使用委托方法或观察UIControl 控件事件更改输入时,都需要正确定义属性。

  2. 如果文本输入的结构是固定且预定义的,则可以使用一批字段来模仿更复杂/更智能的字段。 例如,在这里,您需要在旁边放置两个字段。 一个用于姓氏,第二个用于姓氏。 或者,如果零件不可编辑,则可以组合使用UILabelUITextField 这种方法允许您根据需要配置复杂字段的单独部分:不同的占位符,字体,键盘样式等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM