zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    2020 11 21
    2020 11 20
    2020 11 19
    2020 11 18
    2020 11 17
    2020 11 16
    2020 11 15
    2020 11 14
    2020 11 14
    第五周学习进度报告
  • 原文地址:https://www.cnblogs.com/yecong/p/7803140.html
Copyright © 2011-2022 走看看