• 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;

    }

  • 相关阅读:
    nat
    ICE协议下NAT穿越的实现(STUN&TURN)
    比特币源码分析--端口映射
    IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别(百度)
    从数据的角度带你深入了解IPFS
    IPFS 到底是怎么工作的?
    从数据的角度带你深入了解IPFS
    IPFS
    IPFS中文简介
    bootstrap 表单验证 dem
  • 原文地址:https://www.cnblogs.com/yecong/p/7803140.html
Copyright © 2020-2023  润新知