2014-04-23 37 views
1

我有ScaletoFit方法的問題。我有一個UIImageView的UIPageViewController,並希望在其中顯示不同的圖片,但它不工作,因爲它應該。ScaleToFit不起作用

用這兩行我初始化圖片。

self.screenPicture.image = [UIImage imageNamed:@"1.png"]; 
self.screenPicture.contentMode = UIViewContentModeScaleAspectFit; 

它構建在一個case結構中,它決定用戶可以看到什麼圖片。

switch(self.index) 
    { 
     case zero: { 
      self.screenNumber.text = [NSString stringWithFormat:@"1.", nil]; 
      self.screenPicture.image = [UIImage imageNamed:@"1.png"]; 
      self.screenPicture.contentMode = UIViewContentModeScaleAspectFit; 
      NSLog(@"%d",self.index); 
      break; 
     } 
     case one: { 
      self.screenNumber.text = [NSString stringWithFormat:@"2.", nil]; 
      self.screenPicture.image = [UIImage imageNamed:@"2.png"]; 
      self.screenPicture.contentMode = UIViewContentModeScaleAspectFit; 
      NSLog(@"%d",self.index); 
      break; 
     } 
     case two: { 
      self.screenNumber.text = [NSString stringWithFormat:@"3.", nil]; 
      self.screenPicture.image = [UIImage imageNamed:@"3.png"]; 
      self.screenPicture.contentMode = UIViewContentModeScaleAspectFit; 
      NSLog(@"%d",self.index); 
      break; 
     } 
     case three: { 
      self.screenNumber.text = [NSString stringWithFormat:@"4.", nil]; 
      self.screenPicture.image = [UIImage imageNamed:@"4.png"]; 
      self.screenPicture.contentMode = UIViewContentModeScaleAspectFit; 
      NSLog(@"%d",self.index); 
      break; 
     } 
     default: { 
      self.screenNumber.text = [NSString stringWithFormat:@"5.", nil]; 
      self.screenPicture.image = [UIImage imageNamed:@"5.png"]; 
      self.screenPicture.contentMode = UIViewContentModeScaleAspectFit; 
      NSLog(@"%d",self.index); 
      break; 
     } 
    } 

在應用程序中,圖片現在處於原始大小,這太大了。 爲什麼ScaleAspectFit-方法不起作用?

有人可以幫我嗎?

謝謝:)

+0

呵呵..........? – CW0007007

+0

問題是:爲什麼ScaleAspectFit-Method不起作用? – user3450607

+0

你需要改寫這個問題。我沒有道理。 –

回答

1

按照iOS Developer Library

內容模式指定視圖的層緩存的位圖是如何調整時,視圖的邊界變化。

...而不是相反。您似乎想根據其內容調整視圖的大小,但contentMode則相反。

+0

所以你的意思是我調整了UIImageView而不是圖像?跆拳道? – user3450607

+0

有點兒。我沒有看到你在任何地方爲UIImageView設置了一個大小,所以它可能只是假設圖像自動大小。爲了將圖像調整爲UIImageView的大小,您需要爲UIImageView設置一個大小。然後,您的代碼將相應地調整圖像大小,就像您設置的一樣。您可以使用自動佈局,或根據您的要求爲UIImageView設置特定的幀。 – user1459524

+0

你的意思是像UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,198,380)]; ?不管用! – user3450607