易采站长站为您分析iOS应用开发中使UITextField实现placeholder属性的方法,示例代码为传统的Objective-C语言,需要的朋友可以参考下
我们都知道iOS开发中的UITextField有个placeholder属性,placeholder可以很方便引导用户输入。但是UITextView却没有placeholder属性。
一、猥琐的方法
如何让UITextView也有placeholder功能呢?今天给各位分享一个比较猥琐的做法。思路大概是这样的:
- 把UITextView的text当placeholder使用。
- 在开始编辑的代理方法里清除placeholder。
-
在结束编辑的代理方法里在设置placeholder。
实现方法:
1.创建UITextView:
复制代码
UITextView *textViewPlaceholder = [[UITextView alloc] initWithFrame:CGRectMake(20, 70, SCREEN.width - 40, 100)];
textViewPlaceholder.backgroundColor = [UIColor whiteColor];
textViewPlaceholder.text = @"jb51.net";
textViewPlaceholder.textColor = [UIColor grayColor];
textViewPlaceholder.delegate = self;
[self.view addSubview:textViewPlaceholder];
初始化UITextView,给UITextView的text赋值,并且给UITextView的textColor属性设置成灰色,让其看起来更像placeholder。别忘了设置UITextView的代理,因为后面我们要用到UITextView的两个代理方法。
2.开始编辑的代理方法:
复制代码
- (void)textViewDidBeginEditing:(UITextView *)textView {if ([textView.text isEqualToString:@"jb51.net"]) {
textView.text = @"";
textView.textColor = [UIColor blackColor];
}
}
在开始编辑的代理方法里面,判断如果是UITextView的text的值是placeholder,那么,就清空text,并且把textColor设置成真正的内容颜色,假设是黑色。3.结束编辑的代理方法:
复制代码
- (void)textViewDidEndEditing:(UITextView *)textView {










