gpt4 book ai didi

ios - TPKeyboardAvoidingScrollView 在 subview (UITextView) 扩展时不扩展

转载 作者:行者123 更新时间:2023-11-29 12:29:29 26 4
gpt4 key购买 nike

TPKeyboardAvoidingScrollView 在防止键盘阻塞我的 UITextViews 方面效果很好:但仅当 UITextViews 的大小为静态时。现在我正在尝试改进我的设计,使 UITextViews 的高度随内容增长,TPKeyboardAvoidingScrollView 不会增长以适应不断增长的 UITextViews。这里有没有人成功地使用 TPKeyboardAvoidingScrollView 来增加 UITextViews ?对于布局,我只使用“重置为建议的约束”。

我的特殊情况是 UITextViews 可以增长,因此父级需要增长到超出设备尺寸才能显示所有 UITextViews。目前这还没有发生。一旦 UITextView 增长,它就会扩展到其他 View 之外,这样我就看不到其他 View 了。

更新

以下是我用来调整 UITextView 大小的代码。除此之外,我的代码中没有什么重要的。我按照正常情况在 StoryBoard 中构建所有内容。我将我的 subview 拖放到适当的位置:5 个 ImageView 、两个 TextView 和三个标签。在 viewController .m 文件本身中,我使用了以下委托(delegate)方法代码:

- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString
*)text { [self resizeTextViewToFitContent:textView]; }

- (void)resizeTextViewToFitContent:(UITextView *)textView {
CGRect frame = textView.frame;
frame.size.height=[self heightOfTextView:textView]+5;
textView.frame=frame; }

-(CGFloat)heightOfTextView:(UITextView *)textView {
CGRect reviewTextFrame = [textView.attributedText boundingRectWithSize:CGSizeMake(textView.bounds.size.width, MAXFLOAT)
options:NSStringDrawingUsesLineFragmentOrigin
context:nil];
return CGRectGetHeight(reviewTextFrame); }

最佳答案

我认为您应该更新scrollView 的内容大小。否则我不知道 TPKeyboardAvoidingScrollView 应该如何知道您正在增加内容大小。你应该有一个类似这样的方法:

-(void) updateContentSize: (CGSize *) newSize {
self.scrollView.contentSize = newSize;
}

并在您更新 UITextView 的大小时调用它。

关于ios - TPKeyboardAvoidingScrollView 在 subview (UITextView) 扩展时不扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28132014/

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