textview 占位字

来源:互联网 发布:诲女知之乎知之为知之 编辑:程序博客网 时间:2024/06/15 00:08

 textview 和 textfield 不同,系统并没有自带占位字符,一种方法当然可以重写系统方法,但是可以采用一个假的方法来实现这个效果.还有计数功能哟!

1.首先创建 textview 注意: 要签订代理,设定代理人.记得把控件加在视图上.

- (UITextView *)remarkTextView {

    if (_remarkTextView ==nil) {

        _remarkTextView = [[UITextViewalloc] initWithFrame:CGRectMake(15,15, SCREEN_WIDTH -30, 100)];

        _remarkTextView.text =@" 请输入您的需求...";

        _remarkTextView.textColor[UIColorgrayColor];

        _remarkTextView.font = [UIFontsystemFontOfSize:15];

        _remarkTextView.layer.borderWidth =0.5f;

        _remarkTextView.layer.cornerRadius =4.0f;

        _remarkTextView.delegate =self;

    }

    return_remarkTextView;

}


- (UILabel *)numLabel {

    if (_numLabel ==nil) {

        _numLabel = [[UILabelalloc] initWithFrame:CGRectMake(0,120 , SCREEN_WIDTH -10, 20)];

        _numLabel.textAlignment =NSTextAlignmentRight;

        _numLabel.text =@"0/200";

        _numLabel.textColor = [UIColorgrayColor];

        _numLabel.font = [UIFontsystemFontOfSize:14];

    }

    return_numLabel;

}



#pragma mark textview 代理

- (void)textViewDidChange:(UITextView *)textView {

    if (self.remarkTextView.text.length >200) {

        NSString *subString = [self.remarkTextView.textsubstringToIndex:200];

        self.remarkTextView.text = subString;

        NSLog(@"限制输入200");

    }

    self.remarkTextView.textColor = [UIColorblackColor];

    self.numLabel.text = [NSStringstringWithFormat:@"%ld/200",(unsignedlong)textView.text.length];

}


- (void)textViewDidBeginEditing:(UITextView *)textView {

    if ([textView.textisEqualToString:@"请输入您的需求..."]) {

        textView.text = @"";

    }

}


- (void)textViewDidEndEditing:(UITextView *)textView {

    if (textView.text.length <1) {

        textView.text = @" 请输入您的需求...";

        textView.textColor = [UIColor grayColor];

    }

}



0 0