UITextView和UITextField的placeholder,键盘隐藏,键盘换行变完成字样
2015-06-25 16:55
399 查看
本文转载至
http://blog.csdn.net/hengshujiyi/article/details/9086093- (void)initFeedBackViews{
//设置页面的背景颜色
UIColor *ViewBgColor = [UIColor colorWithRed:(247.0f/255.0f)green:(247.0f/255.0f) blue:(247.0f/255.0f) alpha:1.0f];
self.view.backgroundColor = ViewBgColor;
UILabel *fix_feed_label = [[UILabel alloc]initWithFrame:CGRectMake(10, 0, 70, 30)];
fix_feed_label.text = @"意见内容";
fix_feed_label.backgroundColor = [UIColor clearColor];
fix_feed_label.textColor = [UIColor blackColor];
_content_textView = [[UITextView alloc]initWithFrame:CGRectMake(10, 25, 300, 80)];
_content_textView.font = [UIFont boldSystemFontOfSize:13];
_content_textView.delegate = self;
//设置键盘,使换行变为完成字样
_content_textView.keyboardType = UIKeyboardAppearanceDefault;
_content_textView.returnKeyType = UIReturnKeyDone;
_placeholder_label = [[UILabel alloc]initWithFrame:CGRectMake(12, 25, 300, 30)];
_placeholder_label.text = @"请留下您的宝贵意见或建议(不少于10个汉字)";
_placeholder_label.font = [UIFont boldSystemFontOfSize:13];
_placeholder_label.textColor = [UIColor lightGrayColor];
_placeholder_label.layer.cornerRadius = 10;
_placeholder_label.layer.masksToBounds = YES;
UILabel *fix_contact_label = [[UILabel alloc]initWithFrame:CGRectMake(10, 105, 160, 30)];
fix_contact_label.text = @"联系方式 (选填)";
fix_contact_label.backgroundColor = [UIColor clearColor];
fix_contact_label.textColor = [UIColor blackColor];
_contact_field = [[UITextField alloc]initWithFrame:CGRectMake(15, 130, 300, 30)];
[_contact_field setBorderStyle:UITextBorderStyleNone];
_contact_field.font = [UIFont boldSystemFontOfSize:13];
_contact_field.contentVerticalAlignment =UIControlContentVerticalAlignmentCenter;
_contact_field.keyboardType = UIKeyboardAppearanceDefault;
_contact_field.returnKeyType = UIReturnKeyDone;
_contact_field.placeholder = @"手机号码或EMAIL";
_contact_field.delegate = self;
_submit_button = [UIButtonbuttonWithType:UIButtonTypeCustom];
[_submit_button setFrame: CGRectMake(0, 0, 55, 27)];
UIColor *sequenceColor = [UIColor colorWithRed:(246.0f/255)green:(109.0f/255.0f) blue:(9.0f/255.0f) alpha:1.0f];
_submit_button.backgroundColor = sequenceColor;
[_submit_button setTitle:@"提交"forState:UIControlStateNormal];
[_submit_button setTitleColor:[UIColor whiteColor]forState:UIControlStateNormal];
[_submit_button addTarget:self action:@selector(clickSubmit:)forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItemalloc]initWithCustomView:_submit_button];
[self.view addSubview:fix_feed_label];
[self.view addSubview:fix_contact_label];
[self.view addSubview:_content_textView];
[self.view addSubview:_placeholder_label];
[self.view addSubview:_contact_field];
}
- (void)clickSubmit:(id)sender
{
NSLog(@"clickSubmit");
}
/*
基于UIView点击编辑框以外的虚拟键盘收起
**/
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if (![self.content_textView isExclusiveTouch]||(![self.contact_field isExclusiveTouch])) {
if (self.content_textView.text.length == 0)
{
NSLog(@"ssssss");
self.placeholder_label.text = @"请留下您的宝贵意见或建议(不少于10个汉字)";
_placeholder_label.hidden = NO;
}
[self.content_textView resignFirstResponder];
[self.contact_field resignFirstResponder];
}
}
/*
键盘收回事件,UITextField协议方法
**/
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return NO;
}
#pragma textViewDelegate
-(void)textViewDidChange:(UITextView *)textView
{
if (self.content_textView.text.length != 0) {
self.placeholder_label.text = @"";
_placeholder_label.hidden = YES;
}
else{
self.placeholder_label.text = @"请留下您的宝贵意见或建议(不少于10个汉字)";
_placeholder_label.hidden = NO;
}
}
- (void)textViewDidBeginEditing:(UITextView *)textView;
{
self.placeholder_label.text = @"";
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([@"\n" isEqualToString:text] == YES)
{
[textView resignFirstResponder];
if (self.content_textView.text.length == 0)
{
NSLog(@"ssssss");
self.placeholder_label.text = @"请留下您的宝贵意见或建议(不少于10个汉字)";
_placeholder_label.hidden = NO;
}
return NO;
}
return YES;
}
相关文章推荐
- SVN问题:Server sent unexpected return value (403 Forbidden) in response to OPTIONS
- 检测到有潜在危险的 Request.Form 值
- StringBuffer和StringBuilder常用方法
- Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead的问题解决
- iOS控件之UITextField篇
- 使用NEWID()搭配UniqueIdentifier数据产生全球唯一标识码
- iOS控件之UILbel篇
- iOS学习4_UITableView的使用
- iOS学习4_UITableView的使用
- Ros(fuerte)+rgbdslam_freiburg+installation
- maven build 之 basebuild element set
- UINavigationBar 点儿事&&去掉 NavigationBar 上的分割线
- SpannableString与SpannableStringBuilder
- Unique Paths 算法详解
- Android: Failure [INSTALL_FAILED_DEXOPT] and Failure [INSTALL_FAILED_UID_CHANGED] 解决方案
- iOS 8 Auto Layout界面自动布局系列2-使用Xcode的Interface Builder添加布局约束
- salesforce csv 1000 limitation issue
- [LeetCode] Repeated DNA Sequences
- 仿QQ侧滑效果(swifit)
- unique_ptr使用简介