使用Autolayout无法改变子层位置

时间:2014-11-18 06:26:05

标签: ios autolayout calayer

-(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时,子图层不会改变位置和大小。如果我禁用自动布局,一切都很好。这就是问题:为什么使用自动布局更改子层不能改变位置?

1 个答案:

答案 0 :(得分:0)

对于Autolayouts,你不应该考虑框架,位置,大小等等。这一切都归结为限制。要更改视图的位置或大小,您应该调整其约束。