OStack程序员社区-中国程序员成长平台

标题: ios - 无法从其内容设置 UITextView 高度 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 02:10
标题: ios - 无法从其内容设置 UITextView 高度

我正在尝试根据将要显示的文本量来设置 UITextView 的高度。我在这里找到了这个解决方案:

CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;

但我无法让它工作,我认为这与我没有正确使用 addSubview 将 UITextView 添加到 View 有关,但我无法弄清楚!我相信这是一个很容易解决的问题。

这是我的 viewcontroller.m 文件代码

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize textView = _textView;


- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.



    [self.view addSubview: _textView];

    CGRect frame = _textView.frame;
    frame.size.height = _textView.contentSize.height; 
    _textView.frame = frame;



}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end



Best Answer-推荐答案


您不能在 viewDidLoad 中执行此操作,因为尚未设置 textView 框架。

以更合适的方式移动您的代码,例如 viewWillAppear:viewDidLayoutSubviews

- (void)viewWillAppearBOOL)animated {
   [super viewWillAppear:animated];

   CGRect frame = _textView.frame;
   frame.size.height = _textView.contentSize.height;
   _textView.frame = frame;
}

如果您想更好地了解 UIViewController View 的生命周期,您可能需要查看 this very nice answer .

关于ios - 无法从其内容设置 UITextView 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868539/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4