IOS UITextView加上placeholder

UITextView上如何加上类似于UITextField的placeholder呢,其实在UITextView上加上一个UILabel,然后再实现

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text这个代理方法就可以了。

具体实现如下:

  1. - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

  2. {

  3. if (![text isEqualToString:@""]) {

  4. _label1.hidden = YES;

  5. }
  6. if ([text isEqualToString:@""] && range.location == 0 && range.length == 1) {

  7. _label1.hidden = NO;

  8. }
  9. return YES;

  10. }

说明如下:

(1) _label1 是加在UITextView上的UILabel

(2) [text isEqualToString:@""] 表示输入的是退格键

(3) range.location == 0 && range.length == 1
表示输入的是第一个字符

效果如下:

原文来自http://blog.csdn.net/chchong1234/article/details/24646719感谢博主的分享~

IOS UITextView加上placeholder,布布扣,bubuko.com

时间: 2024-10-29 19:07:50

IOS UITextView加上placeholder的相关文章

iOS疯狂详解之UITextView加上占位字符

// //  SSTextView.h //  SSToolkit // //  Created by Sam Soffes on 8/18/10. //  Copyright 2010-2011 Sam Soffes. All rights reserved. // /**  UITextView subclass that adds placeholder support like UITextField has.  */ @interface SSTextView : UITextView

教大家如何给UITextView添加placeholder扩展

如何扩展UITextView以追加placeholder功能呢? 我们的需求是:追加placeholder功能 方案讨论: 通过继承UITextView的方式 通过扩展UITextView的方式 分析:方案1使用继承方式实现起来更简单,但是使用起来就没有那么方便:方案2 使用扩展的方式,实现起来稍比前者复杂,但是外部使用起来更简单 方案定位:采用扩展的方式,以极简的风格作为参考依据. Tip:所谓极简,即对外接口最简,对内部可以很复杂 扩展头文件 #import <UIKit/UIKit.h>

UITextView添加Placeholder(swift)

UITextView添加Placeholder(swift) by 伍雪颖 添加UILabel并初始化 public let placeholderLabel: UILabel = UILabel() @IBInspectable public var placeholder: String = "" { didSet { placeholderLabel.text = placeholder } } @IBInspectable public var placeholderColor

一步一步学ios UITextView(多行文本框)控件的用法详解(五5.8)

本文转载至 http://wuchaorang.2008.blog.163.com/blog/static/48891852201232014813990/ 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: [csharp] view plaincopy #import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDelegate> { UITe

UITextView实现placeHolder方法汇总

UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户的作用.可是UITextView就没那么幸运了,apple没有给UITextView提供一个类似于placeholder这样的属性来供开发者使用.下面我就把自己能够想到的和网友提供的方法汇总一下,让更多的开发者知道,原来有这么多方法可以实现UITextView的占位文字. 方法一: 1.把UITextView的text属性当成“placeholder”使用. 2.在开始编辑的代理方法里

UITextView 实现placeholder的方法

本文转载至 http://www.cnblogs.com/easonoutlook/archive/2012/12/28/2837665.html 在UITextField中自带placeholder属性,可以用于提示输入框信息.但是UITextView并不具备此功能 介绍两种方法来实现: 第一种: 初始化UITextView //首先定义UITextView UITextView *textView = [[UITextView alloc] init]; textView.font = [U

iOS UITextField设置placeholder颜色

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

UITextView实现PlaceHolder的方式

实现UITextView实现PlaceHolder的方式的方式有两种,这两种方法的核心就是通过通知来添加和去除PlaceHolder:下面来介绍两种方法:个人比较喜欢第一种,看起来更加合理. 方法1:原理是通过通知来改变PlaceHolder,把PlaceHolder看成是一个UILabel,设置UILabel的透明度,来让Placeholder显示与不显示.这种方法对UITextView本身影响较小.学习自Fly_Elephant:<UITextView实现PlaceHolder的方式>这篇

UITextView 实现 placeholder 及隐藏键盘 ios

实现 placeholder   详见: http://code4app.com/ios/CBTextView/523965516803fa4e61000001 自定义一个CBTextView.h  (也可以从上面网址下载,然后直接看后面的调用即可) #import <UIKit/UIKit.h> @interface CBTextView : UIView { UIColor *defaultTextColor; NSString *prevText; } @property (strong