UITextView设置placeholder
下面是我的代码,可以直接拿来用
- #import <UIKit/UIKit.h>
- @interface CustomTextView : UITextView
- @property(nonatomic,strong)NSString *placeholder;
- @end
- #import "CustomTextView.h"
- @interface CustomTextView ()
- @property(nonatomic,strong)UILabel *placeLab;
- @end
- @implementation CustomTextView
- -(instancetype)initWithFrame:(CGRect)frame{
- self = [super initWithFrame:frame];
- if(self){
- self.placeLab = [UILabel new];
- self.placeLab.textColor = [ImageService colorWithHexString:GRAY_COLOR];
- [self addSubview:self.placeLab];
- self.placeLab.textAlignment = NSTextAlignmentRight;
- [self.placeLab mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.left.offset(5);
- make.width.equalTo(self.mas_width).offset(-10);
- }];
- [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(beginChange) name:UITextViewTextDidBeginEditingNotification object:self];
- [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(didChange) name:UITextViewTextDidChangeNotification object:self];
- }
- return self;
- }
- -(void)setFont:(UIFont *)font {
- [super setFont:font];
- self.placeLab.font = font;
- }
- -(void)setTextAlignment:(NSTextAlignment)textAlignment{
- [super setTextAlignment:textAlignment];
- self.placeLab.textAlignment = textAlignment;
- }
- -(void)setPlaceholder:(NSString *)placeholder{
- _placeholder = placeholder;
- self.placeLab.text = placeholder;
- }
- -(void)beginChange{
- if([self.text isEqualToString:@""]){
- self.placeLab.hidden = NO;
- }else{
- self.placeLab.hidden = YES;
- }
- }
- -(void)didChange{
- if([self.text isEqualToString:@""]){
- self.placeLab.hidden = NO;
- }else{
- self.placeLab.hidden = YES;
- }
- }
- -(void)setText:(NSString *)text{
- [super setText:text];
- [self beginChange];
- }
- @end
- -(void)dealloc{
- [[NSNotificationCenter defaultCenter] removeObserver:self name:UITextViewTextDidBeginEditingNotification object:self];
- [[NSNotificationCenter defaultCenter] removeObserver:self name:UITextViewTextDidChangeNotification object:self];
- }
UITextView设置placeholder的更多相关文章
- UITextView实现placeHolder方法汇总
UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户的作用.可是UITextView就没那么幸运了,apple没有给UITextView提供 ...
- iOS TextView输入长度限制 设置placeholder
textView在使用中通常会有2个功能是最常用的 设置placeholder 限制输入长度 TYLimitedTextView刚好是为了解决这个2个问题而诞生的,下面讲解TYLimitedTextV ...
- 教大家怎样给UITextView加入placeholder扩展
怎样扩展UITextView以追加placeholder功能呢? 我们的需求是:追加placeholder功能 方案讨论: 通过继承UITextView的方式 通过扩展UITextView的方式 分析 ...
- iOS - UITextView实现placeHolder占位文字
iOS之UITextView实现placeHolder占位文字的N种方法 前言 iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件.UITextFie ...
- UITextView 实现placeholder的方法
本文转载至 http://www.cnblogs.com/easonoutlook/archive/2012/12/28/2837665.html 在UITextField中自带placeholder ...
- UITextView实现PlaceHolder的方式
实现UITextView实现PlaceHolder的方式的方式有两种,这两种方法的核心就是通过通知来添加和去除PlaceHolder:下面来介绍两种方法:个人比较喜欢第一种,看起来更加合理. 方法1: ...
- 【代码笔记】iOS-UITextField设置placeholder颜色
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- 设置placeholder字体颜色
/*设置placeholder字体颜色*/::-webkit-input-placeholder{ color: #FFF;}:-ms-input-placeholder{ color: #FFF;} ...
- UITextfield设置Placeholder颜色 控件 内边距、自适应高度
//创建UITextField对象 UITextField * tf=[[UITextField alloc]init]; //设置Placeholder颜色 [text setAttribut ...
随机推荐
- 15适配器模式Adapter
一.什么是适配器模式 Adapter模式也叫适配器模式,是构造型模式之一 ,通过Adapter模式可以改变已有类(或外部类)的接 口形式. 二.适配器模式应用场景 在大规模的系统开发过程中,我们常常碰 ...
- 使用命令行模式启动VMWare虚拟机
工作中使用到在centos中安装vmware Workstation部署虚拟机,以前都是使用图形界面启动虚拟机,由此要调整VNC的分辨率大小,重启VNC Server后所有虚拟机都关闭了.事后分析可能 ...
- trace-cmd使用方法
使用trace-cmd有的时候没有来得及使用ctrl+c, 导致出现多个trace.dat.cpu*, 可以使用下面的办法来手动合并trace.dat If a crash happened on a ...
- ios开发之--关于UIView的autoresizingMask属性的研究
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. enum { UIViewAutoresizi ...
- kubernetes 创建nginx 容器
参考:http://blog.csdn.net/qq1010885678/article/details/48832067 一个简单的nginx服务器 先决条件:你需要拥有的是一个部署完毕并可以正常运 ...
- UITableView 显示在statusbar 下面
IOS 6 升到 IOS7 之后出现的状况 新建一个工程,删除默认的ViewController,拖拽一个TableViewController到storyboard. 即使没有勾选 "Ex ...
- G - 看病要排队
看病要排队这个是地球人都知道的常识. 不过经过细心的0068的观察,他发现了医院里排队还是有讲究的.0068所去的医院有三个医生(汗,这么少)同时看病.而看病的人病情有轻重,所以不能根据简单的先来先服 ...
- linux_check
linux_check echo "********CPU****************" echo 总核数 = 物理CPU个数 X 每颗物理CPU的核数 echo " ...
- WPF datagrid 获取行或单格为NULL 问题
datagrid 属性 EnableRowVirtualization 设置为 false 解决...不要问我为什么. 害死我了
- 解决webstorm拉取Vue项目时卡顿,及内存爆满问题
最近在拉取Vue项目时总是会出现webstorm内存瞬间爆满,导致webstorm卡死,而且,有时在下载完node_modues后webstorm一直处于updating中,为此在网上找了很多方法结果 ...