首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式向以编程方式创建的UIView添加约束?

如何以编程方式向以编程方式创建的UIView添加约束?
EN

Stack Overflow用户
提问于 2012-10-09 16:01:22
回答 1查看 13.9K关注 0票数 16

我在viewDidLoad中使用以下代码创建了一个UIView (其中'secondview‘显然是UIView的名称):

代码语言:javascript
复制
secondview = [[UIView alloc] initWithFrame:self.view.frame];
    [secondview setBackgroundColor: [UIColor yellowColor]];
    secondview.translatesAutoresizingMaskIntoConstraints = NO;
    [self.view addSubview:secondview];

然后在viewDidAppear中,我向这个视图添加了约束:

代码语言:javascript
复制
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:secondview attribute:NSLayoutAttributeRight
    relatedBy:NSLayoutRelationEqual
    toItem:self.view
    attribute:NSLayoutAttributeRight
    multiplier:1.0f constant:-20.0f];
[self.view addConstraint:constraint];

但是,约束不会应用于视图(至少我看不到)。取而代之的是,视图似乎只是从屏幕上消失了。但是,如果约束代码被注释掉,视图将再次加载适当的框架(显然没有应用约束)。当将相同的约束应用于Button或ImageView时,这些约束可以完美地应用。这让我认为这个问题是由于创建视图时的'initWithFrame‘造成的,因为按钮和ImageView实际上都不需要指定它的大小。

你的想法是什么?我应该采取不同的做法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-09 18:55:17

对于任何遇到这个的人来说...我需要添加多个约束。这就起到了作用。

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

https://stackoverflow.com/questions/12795457

复制
相关文章

相似问题

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