为UITextView创建占位符的最佳方法是什么,占位符将具有不同的颜色和字体。我想要的一个例子是:
_textView = [[UITextView alloc] initWithFrame:CGRectMake(7.0, 35.0, 306.0, 90.0)];
_textView.text = @"This is a variable called foo.";
我想" foo"在文本中更大胆,颜色更深。
最好的做法是什么?
答案 0 :(得分:6)
我有简单的方法。
在UILabel
下方添加UITextView
并设置UITextView
clearColor。并根据需要设置UILabel
文字,并将该文字颜色设置为与要求颜色相同。如果单击textview,则隐藏该标签,如果清除所有textview,则显示占位符标签。
参见此示例
- (void)textViewDidEndEditing:(UITextView *)theTextView
{
if (![textView hasText])
{
lbl.hidden = NO;
}
}
- (void) textViewDidChange:(UITextView *)textView
{
if(![textView hasText])
{
lbl.hidden = NO;
}
else
{
lbl.hidden = YES;
}
}
我希望这个想法对你有用。
答案 1 :(得分:1)
您必须制作标签并将其添加为textview的子视图。 然后,在textview委托方法中,在适当的时候删除标签,并在textview的文本变成@“”时再次重新添加;
答案 2 :(得分:0)
你有简单的解决方案,
使用GCPlaceholderTextView,您可以在其中设置占位符文本,颜色和字体。
的链接添加GCPlaceholderTextView.h
文件:
@property(nonatomic, strong) UIFont *placeholderFont;
添加GCPlaceholderTextView.m
文件:
- (void)setPlaceholderFont:(UIFont *)fontName {
placeholderFont = fontName;
if ([super.text isEqualToString:self.placeholder]) {
self.font = placeholderFont;
}
}