iOS 设置TextView 只能输入两行

Posted 举个例子yi聪聪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 设置TextView 只能输入两行相关的知识,希望对你有一定的参考价值。

http://www.itstrike.cn/Question/c51c60a2-4ea9-4902-8ef9-0f14d1fcba9b.html

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    UITextView * view = [[UITextView alloc]init];

    

    view.frame = CGRectMake(20, 30, [UIScreen mainScreen].bounds.size.width-40, [UIScreen mainScreen].bounds.size.height-30);

    

    view.font= [UIFont systemFontOfSize:15];

    

    view.delegate =  self;

    

    [self.view addSubview:view];

    

    view.textContainer.maximumNumberOfLines = 2;

    

    

}

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

{

    NSString *newText = [textView.text stringByReplacingCharactersInRange:range withString:text];

    

    NSDictionary *textAttributes = @{NSFontAttributeName : textView.font};

    

    CGFloat textWidth = CGRectGetWidth(UIEdgeInsetsInsetRect(textView.frame, textView.textContainerInset));

    textWidth -= 2.0f * textView.textContainer.lineFragmentPadding;

    CGRect boundingRect = [newText boundingRectWithSize:CGSizeMake(textWidth, 0)

                                                options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading

                                             attributes:textAttributes

                                                context:nil];

    

    NSUInteger numberOfLines = CGRectGetHeight(boundingRect) / textView.font.lineHeight;

    

    return newText.length <= 500 && numberOfLines <= 2;

}

 

以上是关于iOS 设置TextView 只能输入两行的主要内容,如果未能解决你的问题,请参考以下文章

UITextView只能显示两行问题

iOS输入限制字数时,避免与中文拼音拼写板冲突

android 计算textview一行显示多少字

ios开发之--实现TextView提示文字并且输入字数限制

ios开发之--textview意见反馈页面(占位label,字数统计,提交按钮的交互设置)

怎样把TextView中text内容设置成纵向显示