-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch=[touches anyObject];
CALayer *layer=self.view.layer.sublayers[0];
CGFloat width=layer.bounds.size.width;
if (width==WIDTH) {
width=WIDTH*4;
}else{
width=WIDTH;
}
layer.bounds=CGRectMake(0, 0, width, width);
layer.position=[touch locationInView:self.view];
layer.cornerRadius=width/2;
}
我只是在view.layer上添加一个子图层,当触摸视图时,更改子图层的位置和大小,但是当我启用autolyaout
时,子图层不会改变位置和大小。如果我禁用自动布局,一切都很好。这就是问题:为什么使用自动布局更改子层不能改变位置?
答案 0 :(得分:0)
对于Autolayouts,你不应该考虑框架,位置,大小等等。这一切都归结为限制。要更改视图的位置或大小,您应该调整其约束。