码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 设置TextView 只能输入两行

时间:2017-11-08 13:08:16      阅读:1039      评论:0      收藏:0      [点我收藏+]

标签:context   loading   ica   itext   view   tin   exti   containe   UI   

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 只能输入两行

标签:context   loading   ica   itext   view   tin   exti   containe   UI   

原文地址:http://www.cnblogs.com/yecong/p/7803140.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!