TextView是没有自带的占位符

TextView是没有自带的占位符的,咱们自己写.

思路,利用一个全局的label,他的透明与否是仿制占位符的技巧.直接上代码,略简单


- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{

    if ([text isEqualToString:@"\n"]) {

        [textView resignFirstResponder];//按回车取消第一相应者

    }

    return YES;

}


- (BOOL)textViewShouldBeginEditing:(UITextView *)textView

{

    self.lb.alpha = 0;//开始编辑时

    return YES;

}


- (BOOL)textViewShouldEndEditing:(UITextView *)textView

{//将要停止编辑(不是第一响应者时)

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

        self.lb.alpha = 1;

    }

    return YES;

}


- (void)viewDidLoad {

    [super viewDidLoad];

    UITextView *tv = [[UITextView alloc] initWithFrame:CGRectMake(10, 100, 300, 200)];

    tv.delegate = self;

    tv.backgroundColor = [UIColor redColor];

    self.lb = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];

    self.lb.text = @"我是占位符";

    self.lb.enabled = NO;

    self.lb.backgroundColor = [UIColor greenColor];

    [tv addSubview:self.lb];

    [self.view addSubview:tv];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值