textView 实现placeholder

实现原理:在textView里面设置一个承载placeholder的label,遵守textView的代理方法,在代理方法里面判断如果textView.text.length ==0 就显示label.text

textView.text.length !=0 则 label.text ==nil


--新人小白,请多指教


@interface AskViewViewController ()<UITextViewDelegate>


@property(nonatomic,strong)UITextView * textView;

@property(nonatomic,strong)UILabel * placehoderLabel;


@end



@implementation AskViewViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor = BackGrayColor;

    

  

 self.textView = [[UITextView alloc]init];

    self.textView.frame = CGRectMake(0,143.5screenWidth,150);

    self.textView.font = [UIFont systemFontOfSize:14];

    self.textView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

    self.textView.backgroundColor = [UIColor whiteColor ];

    [self.view addSubview:self.textView];

    

    self.textView.hidden = NO;

    self.textView.delegate = self;//别忘了设置代理.....

    

    self.placehoderLabel = [[UILabel alloc]init];

    self.placehoderLabel.font = [UIFont systemFontOfSize:14];

    self.placehoderLabel.frame = CGRectMake(5,615020);

    self.placehoderLabel.text = @"请输入请假原由";

    self.placehoderLabel.enabled = NO;//这个属性很重要

    self.placehoderLabel.backgroundColor = [UIColor clearColor];


    [self.textView addSubview:self.placehoderLabel];

   

    

}


//textView代理方法--

-(void)textViewDidChange:(UITextView *)textView

{

    self.textView = textView;

    

    if (textView.text.length == 0) {

        

        self.placehoderLabel.text = @"请输入请假原由";

        

    }else

    {

        self.placehoderLabel.text = @"";

    }

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值