2019独角兽企业重金招聘Python工程师标准>>>

效果图:

h文件

@interface YLTextView : UITextView
@property (copy ,nonatomic)NSString *placeHoder;
@property (assign,nonatomic)BOOL hidePlaceHoder; //是否对placeHoder进行隐藏
@end

m 文件

//
//  YLTextView.m
//  YangLand
//
//  Created by 赵大财 on 16/3/13.
//  Copyright © 2016年 tshiny. All rights reserved.
//#import "YLTextView.h"@interface YLTextView ()@property (weak ,nonatomic)UILabel *placeHoderLabel;@end@implementation YLTextView- (instancetype)initWithFrame:(CGRect)frame {if (self = [super initWithFrame:frame]) {self.font = [UIFont systemFontOfSize:13];}return self;
}-(void)setFont:(UIFont *)font {[super setFont:font];self.placeHoderLabel.font = font;[self.placeHoderLabel sizeToFit]; //文字的大小 就是label的尺寸
}-(void)setPlaceHoder:(NSString *)placeHoder {_placeHoder = placeHoder;self.placeHoderLabel.text = placeHoder;[self.placeHoderLabel sizeToFit];
}- (void)setHidePlaceHoder:(BOOL)hidePlaceHoder {_hidePlaceHoder = hidePlaceHoder;self.placeHoderLabel.hidden = hidePlaceHoder;
}- (UILabel *)placeHoderLabel {if (!_placeHoderLabel) {UILabel *placeHoderLabel = [[UILabel alloc]init];[self addSubview:placeHoderLabel];_placeHoderLabel = placeHoderLabel;}return _placeHoderLabel;
}- (void)layoutSubviews {[super layoutSubviews];self.placeHoderLabel.x = 10;self.placeHoderLabel.y = 10;
}@end

控制器的使用

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextViewTextDidChangeNotification object:nil]; //监听文字改变//文字改变方法
- (void)textChange {if (self.textView.text.length) {_textView.hidePlaceHoder = YES;}else {_textView.hidePlaceHoder = NO;}
}- (YLTextView *)textView {if (!_textView) {_textView = [[YLTextView alloc]initWithFrame:self.view.bounds];_textView.delegate = self;_textView.alwaysBounceVertical = YES; //这是让textView可上下滑动_textView.placeHoder = @"请发表今天的心情...";_textView.font = [UIFont systemFontOfSize:20];}return _textView;
}

转载于:https://my.oschina.net/zhaodacai/blog/647547

ios自定义UITextView 支持placeholder的方法相关推荐

  1. 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件

    博客地址 : http://blog.csdn.net/shulianghan/article/details/41520569 代码下载 : -- GitHub : https://github.c ...

  2. php mysql 随机字符串_MySQL_Mysql 自定义随机字符串的实现方法,前几天在开发一个系统,需要 - phpStudy...

    Mysql 自定义随机字符串的实现方法 前几天在开发一个系统,需要用到随机字符串,但是mysql的库函数有没有直接提供,就简单的利用现有的函数东拼西凑出随机字符串来.下面简单的说下实现当时. 1.简单 ...

  3. iOS 自定义转场动画浅谈

    代码地址如下: http://www.demodashi.com/demo/11612.html 路漫漫其修远兮,吾将上下而求索 前记 想研究自定义转场动画很久了,时间就像海绵,挤一挤还是有的,花了差 ...

  4. iOS 自定义无限循环滚动广告动画控件

    iOS  自定义无限循环广告动画控件 自定义循环滚动的广告控件,支持水平和竖直两个动画方向,页码标记是自定义的,可以随意控制大小位置和颜色等 效果图: 下载地址: https://github.com ...

  5. 详解优化iOS程序性能的25个方法

    本篇文章主要介绍了优化iOS程序性能的25个方法,感兴趣的小伙伴们可以参考一下 1. 用ARC管理内存 ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发 ...

  6. iOS开发地图的代码和方法

    类方法 说明 + (BOOL)locationServicesEnabled; 是否启用定位服务,通常如果用户没有启用定位服务可以提示用户打开定位服务 + (CLAuthorizationStatus ...

  7. 一劳永逸,iOS 自定义 ActionSheet 封装流程

    原文链接:http://www.jianshu.com/p/cfb87a7db7b1 本文为 iOS 自定义视图封装<一劳永逸>系列的第四期,旨在提供封装思路,结果固然重要,但理解过程才最 ...

  8. iOS自定义View 控件自动计算size能力

    iOS自定义View 控件自动计算size能力 背景 在使用 UILabel 和 UIImage 的时候,不用指定宽高约束,控件也不会报约束缺失,还可以根据内容自己确定适合的宽高,特别适合 Xib 和 ...

  9. iOS 自定义 View

    开发中,为了最小模块化和控件复用(其实更多的是系统控件不满足需求时),我们常常需要自定义 View.这就涉及到需要了解 UIView 的生命周期,布局约束周期才能更好的自定义. 示例工程 基本声命周期 ...

最新文章

  1. antd form rules字数限制_【React】antd的form表单的自定义校验规则的用法
  2. matlab充分利用性能,Matlab高性能编程——代码优化和并行计算
  3. 【Tool】Augmentor和imgaug——python图像数据增强库
  4. SAP Spartacus B2B List里的listData$设计原理
  5. 正则表达式给html添加属性,正则表达式替换html元素属性的方法
  6. 19 删除链表的倒数第N个
  7. postgresql调优
  8. python中json如何存放字节数组中_测试面试题集锦(四)| Linux 与 Python 编程篇(附答案)...
  9. 离散信号内插matlab,离散信号和系统实验报告.doc
  10. 一个声称南方985普通学生,前端学习10个月,秋招斩获字节跳动offer的分享!
  11. Kubernetes 配置私有镜像仓库时,没有权限访问的问题
  12. 吴恩达深度学习环境配置
  13. logistic回归模型
  14. TeamTalk源码分析之win-client
  15. 微信小程序上传图片(前端+PHP后端)
  16. Nexus搭建Maven私服并使用私服
  17. javaweb课程设计网上书店
  18. SQL Server研习录(08)——LEFT()函数
  19. 来看看中国计算机视觉行业发展有什么动态?
  20. 数据分析与可视化学习心得

热门文章

  1. AWR Report and session_cached_cursor
  2. vagrant配置虚拟机网卡
  3. Paros工具使用手册
  4. Spring MVC的转发与重定向
  5. 暗棋单机版_中国暗棋游戏下载-中国暗棋下载v1.0.0 安卓版-单机手游网
  6. 深度学习 对比两张图片的差异_什么是人工智能、机器学习和深度学习,三者之间又有什么差异?...
  7. Python网络爬虫系列(一)
  8. 零基础(转行,应届生、在校生)前端开发学习计划
  9. 处理机和处理器的区别
  10. android在xml中加载大图,android – 如何在布局xml中添加循环视图