我正在尝试根据将要显示的文本量来设置 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
您不能在 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 |