gpt4 book ai didi

ios - 在 UITextView 上设置最大行数条目

转载 作者:可可西里 更新时间:2023-11-01 03:26:56 30 4
gpt4 key购买 nike

我想限制我的 iPad 应用程序的用户在输出 pdf 时最多输入 20 行。用户在 UITextView 中输入文本(如下所示),然后将其转换为 pdf 文档。

enter image description here

我意识到我必须根据他们输入的文本进行一些计算。有什么方法可以帮助我吗? textFieldDidEndEditing 只允许我在输入后进行检查。

此外,因为这会简单得多,是否有一种方法可以限制 UITextField 的行数?

最佳答案

您已接近 textFieldDidEndEditing 委托(delegate)方法。

不过,更好的方法是响应 textView:shouldChangeTextInRange:replacementText: 委托(delegate)方法,然后查看即将发生的更改是否会导致允许更多行。

这是一个关于如何做到这一点的例子:

- (BOOL) textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
static const NSUInteger MAX_NUMBER_OF_LINES_ALLOWED = 3;

NSMutableString *t = [NSMutableString stringWithString:
self.textView.text];
[t replaceCharactersInRange: range withString: text];

NSUInteger numberOfLines = 0;
for (NSUInteger i = 0; i < t.length; i++) {
if ([[NSCharacterSet newlineCharacterSet]
characterIsMember: [t characterAtIndex: i]]) {
numberOfLines++;
}
}

return (numberOfLines < MAX_NUMBER_OF_LINES_ALLOWED);
}

我在 https://github.com/st3fan/StackOverflow/tree/master/TextViewWithLineLimit 上放了一个完整的例子.. 在 iOS 7.0.2 上测试。享受吧!

关于ios - 在 UITextView 上设置最大行数条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478679/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com