gpt4 book ai didi

ios - UITextView sizeToFit 不工作

转载 作者:可可西里 更新时间:2023-11-01 06:23:14 25 4
gpt4 key购买 nike

很奇怪,我一直在到处寻找这个答案,但似乎没有任何效果!

我有一个简单的 UITextView,我试图根据其内容在 viewController 中调整其大小:

- (void)viewDidLoad
{
[super viewDidLoad];

NSString *lorum = @"Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.";

self.textView.text = lorum;

self.textView.scrollEnabled = NO;
[self.textView sizeToFit];
[self.textView layoutIfNeeded];
}

但这就是我最后得到的:

enter image description here

我是否漏掉了一些明显的东西?

更新(框架背景):

enter image description here

最佳答案

正如我在评论中所写,在我看来,如果你不想使用 UITextView 的滚动,我建议使用一个简单的 UILabel..这是代码:

编辑:如果您出于某种原因想要使用 UITextView,例如可编辑文本或可选择文本,您可以使用相同的代码并进行一些修改(我在代码中添加了这些修改,例如注释)

EDIT2 如果您的标签在 Storyboard中检查约束或删除自动布局

.h

  @interface ViewController : UIViewController {

IBOutlet UILabel *label;

}

.m

 - (void)viewDidLoad {
[super viewDidLoad];

// UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor lightGrayColor];

NSString *lorum = @"Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.";

//for use labrect with UITextView you set the font of UITextView:
//label.font = [UIFont systemFontOfSize:17];

CGSize maxSize = CGSizeMake(320, 410);
CGRect labrect = [lorum boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:label.font} context:Nil];

label.text = lorum;
//for use UITextView you should comment the line under
label.numberOfLines = 0;
label.frame = CGRectMake(0, 30, 320, labrect.size.height);

// [self.view addSubview:label];

};

enter image description here

关于ios - UITextView sizeToFit 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998032/

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