iOS开发使用textView代替textField时,textView的placeholder问题

在iOS开发中,为了实现自动换行,通常选择使用textView替代textField。然而,这引入了如何设置textView的placeholder效果。本文详细介绍了通过在textView下方添加一个定制的_placeholderLabel来模拟textField的placeholder功能。同时,文章还讨论了在输入过程中使textView根据内容动态调整高度的方法,以及如何计算textView的行数。
摘要由CSDN通过智能技术生成

iOS开发很多时候我们需要使用textView代替textField,因为textfield不能自动换行,那么textView就面临着placeholder提示文字的问题,其实实现原理就是在textView下面再添加一个用UITextView创建的_placeholderLabel,通过控制这个_placeholderLabel的隐藏与显示来实现UItextField的placeholder的效果。

本文还会讲到在输入的过程中textView如何动态适应内容的高度。以及还会提及到如何获取textView的行数问题。

//创建段落样式
    NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
    paragraphStyle.lineSpacing = 5;// 字体的行间距
    NSDictionary *attributes = @{
                                 NSFontAttributeName:[UIFont systemFontOfSize:15],
                                 NSParagraphStyleAttributeName:paragraphStyle
                                 };
    
    //这个_placeholderLabel是贴在_textView下面的,
    _placeholderLabel = [[UITextView alloc] initWithFrame:CGRectMake(20, 64, kScreenWidth-40, 100)];
    _placeholderLabel.attributedText = [[NSAttributedString alloc] initWithString:@"输入你的内容" attrib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值