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;

}

时间: 2024-10-07 14:31:48

iOS 设置TextView 只能输入两行的相关文章

ios设置textField只能输入数字用于电话号码

首先在.xib中将UITextField的Keyboard设置为Number Pad,但是使用时键盘会切回别的键盘无法对内容进行校验.通过神奇的百度我知道了通过以下方法可以解决这样的问题: 首先让.xib的viewController实现UITextFieldDelegate然后和想要校验的控件关联. 以上是xib,如果是代码设置的 就不要考虑还是那个面部分 然后将下列代码粘贴到类中即可. - (BOOL)textField:(UITextField *)textField shouldChan

C#设置textBox只能输入数字(正数,负数,小数)简单实现

/* *设置textBox只能输入数字(正数,负数,小数) */ public static bool NumberDotTextbox_KeyPress(object sender, KeyPressEventArgs e) { //允许输入数字.小数点.删除键和负号 if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e

android 设置EditText只能输入数字

android:numeric="integer" 设置EditText只能输入数字 <EditText android:id="@+id/edit_text" android:layout_width="106dp" android:layout_height="50dp" android:numeric="integer" />

iOS设置textView的placeholder

在iOS中,一般textfield可以显示一航文字,有placeholder(占位符,用来显示提示信息),textView可以显示多行文字但是却没有placeholder这项,下面的方法可以解决这个问题. @interface PersonSetViewController ()<UITextViewDelegate> //遵从代理协议 - (void)viewDidLoad { [super viewDidLoad]; //放在底部的两个用于显示placeholder的textView,将它

ios设置textview文字上方没有空白

// 不写这句话textview文字上方会有空白 self.automaticallyAdjustsScrollViewInsets = NO;(OC版) self.automaticallyAdjustsScrollViewInsets = false;(Swift版) 不设置: 设置后:

ios textField限制只能输入一定长度的字符

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; {  //string就是此时输入的那个字符textField就是此时正在输入的那个输入框返回YES就是可以改变输入框的值NO相反       if ([string isEqualToString:@"\n"])  //按会车可以改变

C#设置textboox只能输入数字`

1.在闪电KeyPress事件中添加 private void textBox_pwmx_fre_KeyPress(object sender, KeyPressEventArgs e) { //如果输入的不是数字键,也不是回车键.Backspace键,则取消该输入 if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar != (char)13 && e.KeyChar != (char)8) { e.Handled = true; } }

Qt设置lineEdit只能输入double或者int

QDoubleValidator* lineDouble = new QDoubleValidator(0, 100000, 3, nullptr); ui->lineEdit_engRatedPower->setValidator(lineDouble); QIntValidator 原文地址:https://www.cnblogs.com/mc-r/p/12439259.html

动态限制EdiText只能输入特定字符

如何设置EditText,使得只能输入数字或者某些字母呢? 一.设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了. et_1.setKeyListener(new DigisKeyListener(false,true)); 方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下 <EditText android:singleLine="true" and