UITextView 的placeholder

现在iOS还没有想h5那样支持placeholder,所以我们只能在UITextArea上添加一层UILabel,首先你需要在该类中实现 UITextViewDelegate监听

UITextView  descriptionTextView = [[ UITextView alloc ] initWithFrame : CGRectMake ( 5 , 5 , descriptionView . frame . size . width - 5 , textHeight )];
    descriptionTextView.delegate = self;
    [ descriptionView addSubview : descriptionTextView ];
   
  
//placeholder uilabel 显示
    placeHolder = [[UILabel alloc] initWithFrame:CGRectMake(8, 5, 70, textHeight)];
    placeHolder . enabled = NO ;
   
placeHolder . text = @" 请输入 " ;
   
placeHolder . font = kFont_14 ;
   
placeHolder . textColor =[ UIColor grayColor ];
    [descriptionView addSubview:placeHolder];

实现的代理的方法:
//placeholder 监听
-(
void )textViewDidChange:( UITextView *)textView
{
   
CGRect temp;
   
   
if ( descriptionTextView . text . length == 0 ) {
       
placeHolder . text = @" 请输入 " ;
       
// 改变 textView 的高度
       
CGRect temp = descriptionTextView . frame ;
        temp.
size . height = textHeight ;
       
descriptionTextView . frame = temp;
      
    }
else {
       
placeHolder . text = @"" ;
       
// 改变 textView 的高度
       
       
CGRect temp = descriptionTextView . frame ;
        temp.
size . height = textView. contentSize . height ;
       
descriptionTextView . frame = temp;

       
    }
   
// 根据 textview 的字数改变 textview frame
   
// 联动下面的 view
    temp =
button . frame ;
    temp.
origin . y = CGRectGetMaxY ( descriptionTextView . frame )+ 5 ;
    button.frame = temp;
     
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值