UITextView和UITextField的placeholder,键盘隐藏,键盘换行变完成字样
本文转载至
{
//设置页面的背景颜色
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;
}
UITextView和UITextField的placeholder,键盘隐藏,键盘换行变完成字样的更多相关文章
- 用UITextView模拟UITextField的placeHolder
用UITextView模拟UITextField的placeHolder 效果: 源码: // // ViewController.m // TextView // // Created by You ...
- UITextView模拟UITextField 设置Placeholder属性 --董鑫
由于最近有用到输入框,刚开始考虑的是UITextField,因为它在没有输入的时候可以有提示的Placeholder更能,很人性化,但UITextField只能单行输入,不能跳行,对于一些强迫症的亲来 ...
- UITextView 点return 隐藏键盘
iOS开发中,发现UITextView没有想UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView return键隐藏键盘,可以通过判断输入的字 ...
- iOS-UITextField和UITextView隐藏键盘
UITextField和UITextView隐藏键盘 71 views, IOS DEV, by admin. self._textField.returnKeyType=UIReturnKeyDon ...
- 【转】iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法
iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog ...
- IOS中键盘隐藏几种方式
在ios开发中,经常需要输入信息.输入信息有两种方式: UITextField和UITextView.信息输入完成后,需要隐藏键盘,下面为大家介绍几种隐藏键盘的方式. <一> 点击键盘上的 ...
- 隐藏键盘的N种方法
---Created by luo.h 显示键盘 [textField becomeFirstResponder]; 隐藏键盘 @interface ViewController ()<UITe ...
- ios隐藏键盘
1.点击页面空白处隐藏键盘 给viewController里面复写-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event方法,在 ...
- QF——UI之几种常用的隐藏键盘的方法
怎么在填写完UITextField之后,点击空白处,隐藏软键盘. 下面两个方法都可以隐藏键盘 [tf resignFirstResponder]; 停止textfield的第一响应者 [self.vi ...
随机推荐
- ios NSString format 保留小数点 float double
self.orderCost.text = [NSStringstringWithFormat:@"%.1f元",self.order.cost.floatValue]; %.1f ...
- 一款纯css3实现的翻转按钮
之前为大家介绍了好多纯css3实现的很漂亮的按钮.今天小编要给各网友再分享一款纯css3实现的翻转按钮.实现中给出了两种的翻转特效,一种是基于按扭的左边缘为中心线,另一种是基于按钮的中间为中心线.我们 ...
- 完成wamp安装后Mysql配置记录
注意:下面如没有特殊说明,默认都是修改my.ini配置,修改完配置需要重启mysql服务. 1.安装完wamp后输入命令有乱码提示: 运行mysql命令时,出现的错误提示是乱码 : ERROR ...
- Spring中@Resource与@Autowired
问题 这其实就是@Autoware与@Resource没有正确的使用,这个错误是因为wmPoiOplogService这个变量装配方式是@Resource,按照@Resource的按名字查找的方式,并 ...
- 【Unity/Kinect】使用KinectManager的一般流程
想要从Kinect读取到数据,然后使用数据,通常是以下流程: using UnityEngine; using System.Collections; /// <summary> /// ...
- Bootstrap3.0 栅格系统背后的精妙魔法(Bootstrap3.0的栅格布局系统实现原理)
这个标题取的有点奇怪,怪我翻译的有问题吧.英文学平有限,有道词典和google翻译齐上阵是必须的.还好翻译的不是小说,对于技术文章,还是能勉强翻过来的. 本文主要讲解了Bootstrap3.0的栅格布 ...
- phalcon遇到的那些坑
1.数据重复插入 数据被重复插入,一般是在index/index方法中进行数据库insert操作,会发现一条数据被重复插了一次. 原因:浏览器有时候会自动请求 /favicon.ico ,而你的网站并 ...
- 动态标绘演示系统1.0(for OpenLayers3)
实现OpenLayers3(http://openlayers.org)版本号的动态标绘API.眼下1.0版本号,仅支持简单符号绘制. 在线体验地址:http://gispace.duapp.com/ ...
- redis4安装
第一步官网下载 https://redis.io/ rz 上传或者直接wget http://download.redis.io/releases/redis-4.0.2.tar.gz 2.将其下 ...
- java-jdbc循环设置sql参数
PreparedStatement sta=null; Connection conn=null; @Test public void Test2() { //获取连接池 ComboPooledDat ...