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

  由于最近有用到输入框,刚开始考虑的是UITextField,因为它在没有输入的时候可以有提示的Placeholder更能,很人性化,但UITextField只能单行输入,不能跳行,对于一些强迫症的亲来说,很别捏!所以我就想用UITextView,并找出Placeholder的类似方法。我的思路是使用2个UITextView来模拟出UITextField的PlaceHolder效果,一个背景为透明的TextView放在最上面,另一个责作为PlaceHolder的TextView放在最底层。它们之间通过UITextViewDelegate中的-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 方法来动态控制。具体代码如下:

 1 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
 2     if(![text isEqualToString:@""])
 3     {
 4         [_backgroundTextView setHidden:YES];
 5     }
 6     if([text isEqualToString:@""]&&range.length==1&&range.location==0){
 7         [_backgroundTextView setHidden:NO];
 8     }
 9     if ([text isEqualToString:@"\n"]) {
10         [textView resignFirstResponder];
11         return NO;
12     }
13     return YES;
14 }
时间: 2024-10-24 11:15:08

UITextView模拟UITextField 设置Placeholder属性 --董鑫的相关文章

用UITextView模拟UITextField的placeHolder

效果: 源码: // // ViewController.m // TextView // // Created by YouXianMing on 14/12/18. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import "ViewController.h" static NSString *placeHolderStr = @"User Name"; @interface View

【代码笔记】UITextField设置placeholder颜色

一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITextFieldDelegate> @end RootViewController.m #import "RootViewController.h" @interface RootViewController () @end @i

iOS UITextField设置placeholder颜色

设置UITextField的placeholder颜色 UIColor *color = [UIColor blackColor]; textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"密码" attributes:@{NSForegroundColorAttributeName: color}]; iOS UITextField设置placeholder颜色

iOS 设置UITextField的placeholder属性的颜色

NSDictionary *attrDict = @{NSForegroundColorAttributeName : [UIColor redColor]}; NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:textF.placeholder attributes:attrDict]; [textF setAttributedPlaceholder:attrStr]; http://www.jia

让div支持placeholder属性/模拟输入框的placeholder属性

实现方式:css div:empty:before{content: attr(placeholder);color:#bbb;}div:focus:before{content:none;}

iOS学习-UITextField设置placeholder的颜色

UITextField *text = [[UITextField alloc] initWithFrame:CGRectMake(50, 200, 200, 40)]; text.borderStyle = UITextBorderStyleRoundedRect; NSMutableAttributedString * attributedStr = [[NSMutableAttributedString alloc]initWithString:@"密码"]; [attribut

IOS 开发更改UITextField的Placeholder颜色

UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 200, 200, 40)];    UIColor *color = [UIColor redColor]; textField.backgroundColor = [UIColor yellowColor]; textField.attributedPlaceholder = [[NSAttributedString alloc] initW

在IE8等不支持placeholder属性的浏览器中模拟placeholder效果

placeholder是一个很有用的属性,可以提示用户在input框中输入正确的内容,但是IE8以及IE8一下的浏览器不支持该属性,我们可以使用js来模拟相似的效果.下面直接上代码: <!doctype html> <html> <header> <meta charset="utf-8"> <title>placeholder</title> <style type="text/css"

获取表单的初始值,模拟placeholder属性

input和textarea有一个默认属性defaultValue,即初始值. 即使在页面操作修改了input和textarea的内容,获取到的defaultValue依然是初始值.可通过该值模拟placeholder属性,而不额外添加任何属性,标签之类. js:  以input为例 jq: 完全模拟placeholder,无需添加任何额外属性和标签. textarea标签模拟过程完全一致: