#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=@"请输入订单取消理由";