首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sizeToFit和约束

sizeToFit和约束
EN

Stack Overflow用户
提问于 2012-10-19 19:52:06
回答 2查看 3.1K关注 0票数 3

我有一个观点:

label1和label2之间存在布局约束。按下按钮可将文本视图中的文本添加到label1中。之后,调整标签1的大小以适应文本(调用sizeToFit)。调整大小后,约束看起来不起作用:

有没有人知道如何让约束起作用?

我的coode:

代码语言:javascript
复制
@interface ViewController ()
{
    CGFloat _width;
}
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}

- (void) viewDidAppear:(BOOL)animated
{

    _width = self.l1.frame.size.width;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (IBAction)addText:(id)sender {
    self.l1.text = [NSString stringWithFormat:@"%@ %@", self.l1.text, self.text.text];
    self.l1.frame = CGRectMake(self.l1.frame.origin.x, self.l1.frame.origin.y, _width, 0);
    [self.l1 sizeToFit];
}
@end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-19 20:03:58

我已经找到了原因:高度约束等于标签1的40。当我将其更改为大于或等于时,所有其他约束都可以工作。

票数 4
EN

Stack Overflow用户

发布于 2013-07-10 22:29:53

我也遇到过类似的问题,其中一个UIImageView位于多个UILabelViews的顶部。约束被设置为在顶部图像和下面的标签堆栈之间保持较小的距离。

问题是,当将未知大小的图像加载到UIImage中时,高度会发生变化,但随后的标签不会向下推,并且被图像覆盖。

我尝试删除UIImageView设置的高度,但XCode不让我删除。

我通过将显式UIImageview高度约束的优先级降低到1解决了这个问题。

之后,正如预期的那样,标签在ViewController上向下移动,图像和它们自己之间有均匀的空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12973689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档