本文转载至

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;

}

UITextView和UITextField的placeholder,键盘隐藏,键盘换行变完成字样的更多相关文章

  1. 用UITextView模拟UITextField的placeHolder

    用UITextView模拟UITextField的placeHolder 效果: 源码: // // ViewController.m // TextView // // Created by You ...

  2. UITextView模拟UITextField 设置Placeholder属性 --董鑫

    由于最近有用到输入框,刚开始考虑的是UITextField,因为它在没有输入的时候可以有提示的Placeholder更能,很人性化,但UITextField只能单行输入,不能跳行,对于一些强迫症的亲来 ...

  3. UITextView 点return 隐藏键盘

    iOS开发中,发现UITextView没有想UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView return键隐藏键盘,可以通过判断输入的字 ...

  4. iOS-UITextField和UITextView隐藏键盘

    UITextField和UITextView隐藏键盘 71 views, IOS DEV, by admin. self._textField.returnKeyType=UIReturnKeyDon ...

  5. 【转】iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

    iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog ...

  6. IOS中键盘隐藏几种方式

    在ios开发中,经常需要输入信息.输入信息有两种方式: UITextField和UITextView.信息输入完成后,需要隐藏键盘,下面为大家介绍几种隐藏键盘的方式. <一> 点击键盘上的 ...

  7. 隐藏键盘的N种方法

    ---Created by luo.h 显示键盘 [textField becomeFirstResponder]; 隐藏键盘 @interface ViewController ()<UITe ...

  8. ios隐藏键盘

    1.点击页面空白处隐藏键盘 给viewController里面复写-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event方法,在 ...

  9. QF——UI之几种常用的隐藏键盘的方法

    怎么在填写完UITextField之后,点击空白处,隐藏软键盘. 下面两个方法都可以隐藏键盘 [tf resignFirstResponder]; 停止textfield的第一响应者 [self.vi ...

随机推荐

  1. 【Unity笔记】物体的Transform操作:速度、旋转、平移

    例如,通过按键/摇杆来操作飞机在三维空间的飞行状态.包括速度(大小,方向).位移. public class ExampleClass : MonoBehaviour { public float s ...

  2. udev规则以及编写

    主要内容: udev简介 如何配置和使用udev 如何编写udev规则 字符串替换和匹配 udev主要作用 编写udev规则实例 难点解析 1. udev简介 1.1 什么是udev? udev是Li ...

  3. linux定时任务crontab设置

    crontab是linux下的定时任务,类似于window下的计划任务: crontab -l ##查询任务列表 crontab -e ##编辑定时任务 首先准备好要执行的脚本monitor_fs.s ...

  4. OpenResty(Nginx+Lua)开发入门

    Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动.关闭.重启 http://www.cnblogs.com/derekchen/archi ...

  5. 设置cookies第二天0点过期

    网上这个资料很少,试了csdn其中一个人的方法去算时间,返回的是Invalid Date,不知道是不是不同IE版本 返回结果不同 后面找到另外一个很简答粗暴的方法 直接加一天后,设置时分秒为0,代码如 ...

  6. Web API(五):Web API跨域问题

    一.什么是跨域问题 跨域:指的是浏览器不能执行其他网站的脚本.是由浏览器的同源策略造成的,是浏览器施加的安全限制.(服务端可以正常接收浏览器发生的请求,也可以正常返回,但是由于浏览器的安全策略,浏览器 ...

  7. MySql C++调用库Connector/c++编译 和 接口封装【二】Connector/c++编译

    二.Connector/c++库的编译:     1.把MySql数据库安装完成后,把bin目录加入环境变量.          2.下载boost库,官网就有下载: http://www.boost ...

  8. sparkR 跑通的函数

    spark1.4.0的sparkR的思路:用spark从大数据集中抽取小数据(sparkR的DataFrame),然后到R里分析(DataFrame). 这两个DataFrame是不同的,前者是分布式 ...

  9. 德国Aptamil不同系列奶粉间差别

    以下内容均来源网络整理.汇总. 德国人做事严谨,而且对于有争议性的成分持保守态度,比如不添加麦芽糊精.所以我比较赞赏购买德国的奶粉,主要是aptamil和hipp喜宝,这两个牌子也基本没有负面新闻.但 ...

  10. thinkphp openfire 添加用户 骨架

    public function addadd(){ header("Content-Type:text/html; charset=utf-8"); $user=$_POST['n ...