在呈现其他视图控制器之后,UIView重置为初始值

时间:2014-10-31 15:37:37

标签: ios iphone core-graphics calayer

UIView的帧和位置属性在呈现其他视图控制器后重置为初始值。

- (IBAction)moveClicked:(UIButton *)sender {
    self.imvOriginal.center = CGPointMake(self.imvOriginal.center.x + 200, self.imvOriginal.center.y + 200);
}

- (IBAction)showClicked:(UIButton *)sender {
    UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    TopViewController *vc  = [storyboard instantiateViewControllerWithIdentifier:@"topViewController"];
    [self presentViewController:vc animated:YES completion:nil];
}

关闭topViewController后,imvOriginal的center属性会自动重置。 实际上,打开topViewController时会重置此属性。

我不会使用自动约束,因为我应该使用Pan,Pinch,Rotate手势来实现ImageView的移动,缩放,旋转。此功能可更改ImageView图层的位置,affineTransform属性。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您看到的问题是由自动布局引起的。即使您没有为视图设置约束,如果启用了自动布局(默认情况下也是如此),系统将为您添加约束。如果要对故事板中的某些视图使用自动布局,而不是对其他特定视图使用自动布局,则应该在代码中创建该视图。