当按下按钮时,调整UiTextField/UiTextView的大小以适应内容



我已经搜索了几个小时,找不到任何解决方案。

我想让UITextField或UITextView(不管哪一个有效)显示单词"联系人…"在一行中,然后当我按下按钮时,文本字段应该会增长到适合所有内容。理想情况下,我希望视图中的所有组件都向下移动,以适应更大的文本字段。

我在很多应用程序中看到过这种技术,但我找不到解决方案!必须有一些具有UITextField的GitHub库具有这种行为。

请帮忙!

我不久前也有类似的需求,并创建了一个类别来支持每个UITextView的大小调整。只需将此类别添加到您的项目中,将其导入到需要它的类中,并在您想要调整其大小时在UITextView上调用autoAdjustHeight

UITextView+可调整大小.h:

@interface UITextView (Resizeable)
-(void)autoAdjustHeight;
@end

UITextView+可调整大小.m:

#import "UITextView+Resizeable.h"
@implementation UITextView (Resizeable)
-(void)autoAdjustHeight {
    CGFloat fixedWidth = self.frame.size.width;
    CGSize newSize = [self sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
    CGRect newFrame = self.frame;
    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
    self.frame = newFrame;
    self.scrollEnabled = NO;
}
@end

最新更新