iOS UITextView占位符

1.引入协议

2.添加属性

@property (nonatomic,strong)UITextView *otherField;

//占位符

@property (nonatomic, strong)UILabel *lb;

3.懒加载

- (UITextView *)otherField

{

if (!_otherField) {

_otherField = [[UITextView alloc]initWithFrame:[WPackageViewController createFrimeWithX:10 andY:276 andWidth:355 andHeight:139]];

_otherField.font = [UIFont systemFontOfSize:15*W];

_otherField.layer.borderColor = [[UIColor lightGrayColor]CGColor];//阴影

_otherField.layer.borderWidth = 1;

_otherField.layer.cornerRadius = 5*W;

_otherField.clipsToBounds = YES;

_otherField.delegate = self;

}

return _otherField;

}

- (UILabel *)lb

{

if (!_lb) {

_lb = [[UILabel alloc]initWithFrame:[WPackageViewController createFrimeWithX:10 andY:10 andWidth:200 andHeight:20]];

_lb.text = @"请输入其他原因...";

_lb.textColor = [UIColor grayColor];

_lb.font = [UIFont systemFontOfSize:15*W];

}

return _lb;

}

4.加载

[self.otherField addSubview:self.lb];

5.实现协议

- (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;

}

你可能感兴趣的:(iOS UITextView占位符)