gpt4 book ai didi

ios - UITextView textViewDidChange : does not recognize newline character

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:08:48 24 4
gpt4 key购买 nike

尝试根据输入的文本以编程方式增加 UITextView 的大小。问题是,textViewDidChange: 只会识别换行符,如果我在输入它们之后再输入一些东西。例如,我正在尝试输入以下内容:

嗨,我的名字叫吉米。

如果我在 textViewDidChange:

的 NSLog 中打印它,我会得到这个
Log: H
Log: Hi
Log: Hi,
Log: Hi, m
Log: Hi, my
Log: Hi, my (here goes the new line, but it's not recognized)
Log: Hi, my
n (it's recognized on this line, only after something is inputted after it).

如果我尝试输入两个换行符,只有第一个会被识别,并且只有在我输入第二个后。这是某种错误还是我遗漏了什么,有没有办法解决这个问题?这曾经在 iOS 6 上正常工作。

编辑——为了更清楚地说明问题,我确实收到了文本已更改的通知,问题是新文本是空字符而不是换行符。

编辑——目前看来,为 UITextView 找到合适大小的唯一正确方法是使用其 sizeThatFits: 方法,同时将边界大小传递给它。此外,如果您以编程方式更改 UITextView 的比例,明智的做法是从中删除所有自动调整大小的 mask 。

最佳答案

适用于 iOS 6 和 iOS 7。请记住,NSLog 有时不会像您期望的那样在日志末尾显示新行,因此请尝试在 textView.text ,例如:

- (void)textViewDidChange:(UITextView *)textView
{
NSLog(@"TextView text changed to: \"%@\"", textView.text);
}

如果它真的不记录新行,那么它听起来确实像一个错误,你应该 report .

关于ios - UITextView textViewDidChange : does not recognize newline character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918787/

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