iOS textView placeholder

#import <UIKit/UIKit.h>


@interface CustomTextView : UITextView

@property (nonatomic, retain) NSString *placeholder; //内容

@property (nonatomic, retain) UIColor *placeholderColor;  //颜色

@end



#import "CustomTextView.h"

#define IOS_VERSION    [[[UIDevice currentDevice] systemVersion] floatValue]

@implementation CustomTextView


- (id)initWithFrame:(CGRect)frame

{

  self = [super initWithFrame:frame];

  if (self) {

    

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:)

                                                 name:UITextViewTextDidChangeNotification

                                               object:nil];

    

    self.autoresizesSubviews = NO;

    self.placeholder = @"";

    self.placeholderColor = RGB(195, 202, 213);

    

  }

  return self;

}


-(void)drawRect:(CGRect)rect

{

  //内容为空时才绘制placeholder

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

    CGRect placeholderRect;

    placeholderRect.origin.y = 8;

    placeholderRect.size.height = CGRectGetHeight(self.frame)-8;

    if (IOS_VERSION >= 7) {

      placeholderRect.origin.x = 5;

      placeholderRect.size.width = CGRectGetWidth(self.frame)-5;

    } else {

      placeholderRect.origin.x = 10;

      placeholderRect.size.width = CGRectGetWidth(self.frame)-10;

    }

    [self.placeholderColor set];

    [self.placeholder drawInRect:placeholderRect

                        withFont:self.font

                   lineBreakMode:NSLineBreakByWordWrapping

                       alignment:NSTextAlignmentLeft];

  }

}

- (void)textChanged:(NSNotification *)not

{

  [self setNeedsDisplay];

}

- (void)setText:(NSString *)text

{

  [super setText:text];

  [self setNeedsDisplay];

}

@end



一句话调用

textView.placeholder=@"请输入订单取消理由";


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值