主视图上有一个子视图(UIView),我想改变子视图的大小(_test)。
_test
有两个限制:
当我想要更改_test(子视图)的大小时,但这似乎不起作用:
self._test.frame = CGRectMake(self._test.frame.origin.x + 10,
self._test.frame.origin.y,
self._test.frame.size.width - 10,
self._test.frame.size.height);
我认为这是因为约束,但是,我该怎么做?
答案 0 :(得分:1)
_test
有两个限制:主视图的顶部空间:20
将空间拖到主视图:136
嗯,这是你的第一个问题。如果这确实是一个通用的UIView,那么这就不够了。如果您要使用约束,则必须完全确定视图的位置和大小,并且您未能这样做。因此,您的约束无效。
一旦你的约束变得有效,那么你确实会面临这样一个事实:你无法通过frame
来设置视图的位置和大小。设置frame
和使用约束是互斥的!如果您要使用约束来定位和调整大小,那么要重新定位或调整大小,您必须更改其约束,而不是其frame
。