我已经使用两个delegate
方法为textView创建占位符。在textView中占位符的替代
代码:
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
if([Description.text isEqualToString:@"Description of home"]&&[Description.font isEqual:[UIFont fontWithName:@"Helvetica" size:18]])
{
Description.text=nil;
}
if([Display.text isEqualToString:@"Display"]&&[Display.font isEqual:[UIFont fontWithName:@"Helvetica" size:18]])
{
Display.text=nil;
}
return YES;
}
-(BOOL)textViewShouldEndEditing:(UITextView *)textView
{
if ([Description.text isEqualToString:@""]) // Description is textViewObject
{
[email protected]"Description of home";
Description.font=[UIFont fontWithName:@"Helvetica" size:18];
}
if ([Display.text isEqualToString:@""])
{
[email protected]"Display"; // Display is textViewObject
Display.font=[UIFont fontWithName:@"Helvetica" size:18];
}
return YES;
}
@end
这是工作正确的。但问题是当我点击任何textView时,文本从所有textView获取nil
。这是因为我已将所有textView连接到委托。
我希望文本应该只在特定的textView上消失。
的[占位符的UITextView(http://stackoverflow.com/questions/1328638/placeholder-in-uitextview) –
可能重复我认为占位符支持添加到UITextView中的最佳方式是它的子类,像这样:[YXTextView](https://github.com/yixia-team/YXTextView)。 – Allen
您需要继承UITextView并将标签添加为子视图。通过委托方法,你会让自己变得疯狂。 – DBoyer