输入框既需要testField的占位字符,又需要换行效果,可以用如下方法实现:
初始化textView:
-(UITextView*)textView{
if (!_textView) {
_textView = [[UITextView alloc]init];
_textView.frame = CGRectMake(0, 180-64+HHHEIGHT, kWindowWidth,(kWindowHeight/2)-180);
_textView.backgroundColor = [UIColor whiteColor];
_textView.font = [UIFont systemFontOfSize:16];
_textView.delegate = self;
_textView.returnKeyType = UIReturnKeyDefault;
//重点设置如下:键盘类型,设置占位文字,颜色(一般lightGrayColor,近似 placeholder颜色)
_textView.scrollEnabled = YES;
_textView.keyboardType = UIKeyboardTypeDefault;
_textView.text =@“我是占位符"; //仿占位符
_textView.textColor = [UIColor lightGrayColor];
}
return _textView;
}
实现UITextViewDelegate代理方法,达到占位效果,同时处理输入时占位消失
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView{
if ([_textView.text isEqualToString:@"我是占位符"]) {
_textView.text = @"";
}
return YES;
}
-(BOOL)textViewShouldEndEditing:(UITextView *)textView{
if ([_textView.text isEqualToString:@""]) {
_textView.text = @"我是占位符";
}
return YES;
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
} //设置代理:
实现return键盘消失