Initial commit
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
//
|
||||
// UMComBriefEditView.m
|
||||
// UMCommunity
|
||||
//
|
||||
// Created by 张军华 on 16/5/17.
|
||||
// Copyright © 2016年 Umeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import "UMComBriefEditView.h"
|
||||
|
||||
@interface UMComBriefEditView ()
|
||||
|
||||
@property (nonatomic,weak) UILabel *placeholderLabel; //这里先拿出这个label以方便我们后面的使用
|
||||
|
||||
@end
|
||||
|
||||
@implementation UMComBriefEditView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if(self) {
|
||||
//self.backgroundColor= [UIColor clearColor];
|
||||
UILabel *placeholderLabel = [[UILabel alloc]init];//添加一个占位label
|
||||
placeholderLabel.backgroundColor= [UIColor clearColor];
|
||||
|
||||
//只设置一行
|
||||
placeholderLabel.numberOfLines=1; //设置可以输入多行文字时可以自动换行
|
||||
[self addSubview:placeholderLabel];
|
||||
self.placeholderLabel= placeholderLabel; //赋值保存
|
||||
self.placeholderLabel.frame = CGRectMake(5, 0, frame.size.width, 30);
|
||||
|
||||
self.placeholderLabel.textColor= [UIColor lightGrayColor]; //设置占位文字默认颜色
|
||||
self.placeholderLabel.font = [UIFont systemFontOfSize:14]; //设置默认的字体
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textDidChange) name:UITextViewTextDidChangeNotification object:self]; //通知:监听文字的改变
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
#pragma mark -监听文字改变
|
||||
|
||||
- (void)textDidChange {
|
||||
|
||||
if (self.text.length > 0) {
|
||||
self.placeholderLabel.hidden = YES;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.placeholderLabel.hidden = NO;
|
||||
}
|
||||
|
||||
//self.hasText频繁调用会崩溃(原因还没有查到!!!)
|
||||
//self.placeholderLabel.hidden = self.hasText;
|
||||
|
||||
}
|
||||
|
||||
//- (void)setText:(NSString*)text{
|
||||
// [super setText:text];
|
||||
// [self textDidChange]; //这里调用的就是 UITextViewTextDidChangeNotification 通知的回调
|
||||
//
|
||||
//}
|
||||
|
||||
|
||||
- (void)dealloc{
|
||||
|
||||
[[NSNotificationCenter defaultCenter]removeObserver:UITextViewTextDidChangeNotification];
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - 设置属性
|
||||
|
||||
-(void)setPlaceholder:(NSString *)placeholder
|
||||
{
|
||||
_placeholder= [placeholder copy];
|
||||
self.placeholderLabel.text = placeholder;
|
||||
}
|
||||
|
||||
-(void) setPlaceholderColor:(UIColor *)placeholderColor
|
||||
{
|
||||
_placeholderColor = placeholderColor;
|
||||
|
||||
self.placeholderLabel.textColor= placeholderColor;
|
||||
}
|
||||
|
||||
-(void) setPlaceholderFont:(UIFont *)placeholderFont
|
||||
{
|
||||
_placeholderFont = placeholderFont;
|
||||
|
||||
self.placeholderLabel.font = placeholderFont;
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user