介绍两种方法来实现:
第一种:
初始化UITextView
//首先定义UITextView
UITextView *textView = [[UITextView alloc] init]
textView.font = [UIFont systemFontOfSize:14]
textView.frame =CGRectMake(10, 0, cell.contentView.bounds.size.width-20, side)
textView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
textView.backgroundColor = [UIColor whiteColor]
[cell.contentView addSubview:textView]
textView.hidden = NO
textView.delegate = self
//其次在UITextView上面覆盖个UILable,UILable设置为全局变量。
uilabel.frame =CGRectMake(17, 8, cell.contentView.bounds.size.width - side+10, 20)
uilabel.text = @"请填写审批意见..."
uilabel.enabled = NO//lable必须设置为不可用
uilabel.backgroundColor = [UIColor clearColor]
[cell.contentView addSubview:uilabel]
实现UITextView的代理
-(void)textViewDidChange:(UITextView *)textView
{
self.examineText = textView.text
if (textView.text.length == 0) {
uilabel.text = @"请填写审批意见..."
}else{
uilabel.text = @""
}
}
第二种:
UITextView 实现 placeholder 及隐藏键盘
#import <Foundation/Foundation.h>
@interface UIPlaceHolderTextView : UITextView {
NSString *placeholder
UIColor *placeholderColor
@private
UILabel *placeHolderLabel
}
@property(nonatomic, retain) UILabel *placeHolderLabel
@property(nonatomic, retain) NSString *placeholder
@property(nonatomic, retain) UIColor *placeholderColor
-(void)textChanged:(NSNotification*)notification
@end
#import "UIPlaceHolderTextView.h"
@implementation UIPlaceHolderTextView
@synthesize placeHolderLabel
@synthesize placeholder
@synthesize placeholderColor
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self]
[placeHolderLabel release]placeHolderLabel = nil
[placeholderColor release]placeholderColor = nil
[placeholder release]placeholder = nil
[super dealloc]
}
- (void)awakeFromNib
{
[super awakeFromNib]
[self setPlaceholder:@""]
[self setPlaceholderColor:[UIColor lightGrayColor]]
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:) name:UITextViewTextDidChangeNotification object:nil]
}
- (id)initWithFrame:(CGRect)frame
{
if( (self = [super initWithFrame:frame]) )
{
[self setPlaceholder:@""]
[self setPlaceholderColor:[UIColor lightGrayColor]]
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:) name:UITextViewTextDidChangeNotification object:nil]
}
return self
}
- (void)textChanged:(NSNotification *)notification
{
if([[self placeholder] length] == 0)
{
return
}
if([[self text] length] == 0)
{
[[self viewWithTag:999] setAlpha:1]
}
else
{
[[self viewWithTag:999] setAlpha:0]
}
}
- (void)setText:(NSString *)text {
[super setText:text]
[self textChanged:nil]
}
- (void)drawRect:(CGRect)rect
{
if( [[self placeholder] length] >0 )
{
if ( placeHolderLabel == nil )
{
placeHolderLabel = [[UILabel alloc] initWithFrame:CGRectMake(8,8,self.bounds.size.width - 16,0)]
placeHolderLabel.lineBreakMode = UILineBreakModeWordWrap
placeHolderLabel.numberOfLines = 0
placeHolderLabel.font = self.font
placeHolderLabel.backgroundColor = [UIColor clearColor]
placeHolderLabel.textColor = self.placeholderColor
placeHolderLabel.alpha = 0
placeHolderLabel.tag = 999
[self addSubview:placeHolderLabel]
}
placeHolderLabel.text = self.placeholder
[placeHolderLabel sizeToFit]
[self sendSubviewToBack:placeHolderLabel]
}
if( [[self text] length] == 0 &&[[self placeholder] length] >0 )
{
[[self viewWithTag:999] setAlpha:1]
}
[super drawRect:rect]
}
@end
//隐藏键盘,实现UITextViewDelegate
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
if ([text isEqualToString:@"\n"]) {
[m_textView resignFirstResponder]
return NO
}
return YES
}
<img src="default.jpg" originsrc="ture.jpg" id="img" />
<script>
//懒加载,先加载默认图片,等真实的图片加载出来之后再渲染真实图片
var img=document.getElementByID("img")
img.src=img.getAttribute("originsrc")
img.onload=function(){
img.setAttribute("src",this.src)
}
</script>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)