2012-05-29 31 views
1

我有一個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]; 

很多預先感謝。

+0

翻轉動作後只需添加此行。 invisibleView.frame = viewHolder.bounds; – Deepukjayan

+0

是的,但它是UIImageView(子視圖)持有的裁剪圖像? – Mann

+1

將屬性scalesToFit添加到它。這將工作正常。 – Deepukjayan

回答

0

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

這種方法被稱爲在超級視圖時,其框架的變化。在該方法中,您可以配置子視圖

另一種選擇是在配置子視圖時使用自動佈局。

相關問題