【发布时间】:2012-11-24 01:41:58
【问题描述】:
我有一个容器视图@property (weak, nonatomic) IBOutlet UIView *containerView;,但是当我设置它的框架时它不会移动。这是我的尝试:
- (void)setFramesForCategories
{
CGRect frame = _containerView.frame;
frame.origin.x = 20;
frame.origin.y = self.view.frame.size.height - 52;
frame.size.width = 236;
frame.size.height = 60 * [[_dataDict objectForKey:@"Key"] count];
_containerView.frame = frame;
}
我知道这是基本的,并且以前在我移动以编程方式创建的对象时对我有用,但现在对我不起作用。
【问题讨论】:
-
我试过只使用静态数字而不是算法,但如果这就是你的意思,那也不起作用。
-
这可能与 IB 中视图的布局约束有关。您要么需要更改它们,摆脱它们,要么通过更改约束来更改容器视图的框架,而不是显式设置框架。
-
@rdelmar 我确实在发布此问题之前尝试删除约束,但删除选项显示为灰色。我将如何通过代码更改它们?或者,还有其他方法可以删除它们吗?
-
谢谢@rdelmar,你给了我足够的信息来弄清楚如何解决这个问题。我会发布答案。
-
您可以使用 removeConstraint: 删除它们,但您需要为约束创建出口,以便能够将它们作为参数传递给该方法。
标签: ios xcode uiview uiviewcontroller containers