平時開發中老是出現多行的文本而且要有placeholder提示,就自己整理項目中部分代碼以供參考、討論,希望有更好實現方法的人多多指教。
思路:通過改變UITextView的文本顏色實現placeholder效果,通過改變UITableView的setContentOffset方法解決鍵盤遮擋
1、創建UITextView
textView = [[UITextViewalloc] init];
textView.font = [UIFontsystemFontOfSize:14];
textView.frame =CGRectMake(10, 0,DEVICE_WIDTH-20,56);
textView.autoresizingMask =UIViewAutoresizingFlexibleHeight |UIViewAutoresizingFlexibleWidth;
textView.backgroundColor = [UIColorclearColor];
textView.textColor=[UIColorcolorWithHexString:@#999999];
textView.delegate =self;
textView.text=@請在這裡輸入;
[self.view addSubview:textView];
2、UITextView delegate-
#pragma mark -----UITextView delegate-----
//開始編輯
-(void)textViewDidBeginEditing:(UITextView *)textView
{
[tableviewsetContentOffset:CGPointMake(0,100) animated:YES];
if ([textView.textisEqualToString:@請在這裡輸入]) {
textView.textColor=[UIColorcolorWithHexString:@#77FF00];
textView.text =@;
}
}
//完成編輯
-(void)textViewDidEndEditing:(UITextView *)textView
{
if (textView.text.length==0||[textView.textisEqualToString:@]) {
textView.textColor=[UIColorcolorWithHexString:@#999999];
textView.text=@請在這裡輸入;
}
else
{
detailAddress.text= textView.text;
}
[tableviewsetContentOffset:CGPointMake(0, 0)animated:YES];
}