使用superview的帧更改调整子视图大小

时间:2012-05-29 08:23:47

标签: ios animation

我有一个UIImageView aSuper;当我翻转它时,这个视图正在改变它的大小,即它正在占用下一帧和下一帧的大小,等等。

现在这个UIImageView包含一个子视图,也是imageview。我将其称为bSubView。

现在我想在每次其父视图框架更改时调整此bSubView的大小。

代码是: - 这里invisibleView是子视图,viewHolder是父视图。父视图正在改变,但问题在于子视图。

 UIImage *image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageString1]]];

            UIImageView *viewHolder=[[UIImageView alloc] initWithFrame:CGRectMake(510, 200, 20, 20)];

              invisibleView=[[UIImageView alloc] init];
              invisibleView.image=image;               
              invisibleView.frame=viewHolder.bounds;

            viewHolder.autoresizesSubviews=YES;
            [ invisibleView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
            invisibleView.contentMode=UIViewContentModeCenter;                
            viewHolder.image=[UIImage imageNamed:@"EmptyPlanet"];                  
            [viewHolder addSubview:invisibleView];  

            [self.view addSubview:viewHolder];

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

您可以使用继承的方法-(void)layoutsubviews

当帧的帧发生变化时,会在超级视图上调用此方法。在该方法中,您可以配置子视图

另一个选择是在配置子视图时使用autolayout。