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;

    }

  • 相关阅读:
    钻进 Linux 内核看个究竟
    如何监控 Linux 服务器状态?
    树莓派使用 OLED 屏显示图片及文字
    动态代理学习(二)JDK动态代理源码分析
    动态代理学习(一)自己动手模拟JDK动态代理
    SpringCloudGateWay学习 之 从函数式编程到lambda
    leetCode刷题 | 两数相加
    leetCode刷题 | 两数之和
    数据结构 | 再也不怕被问栈跟队列了
    算法 | 链表的应用,缓存失效算法
  • 原文地址:https://www.cnblogs.com/yecong/p/7803140.html
Copyright © 2011-2022 走看看