2012-04-25 32 views
2

我正在展示一個模式視圖,並將UIImageView設置爲內容模式填充比例(通過xib)。我設置的模式視圖類一個UIImage從父類的縮略圖:ModalViewController中的UIImageView忽略ContentMode - iPhone

NSURL * finishedMovie = [self applicationDocumentsDirectory:@"FinishedVideo.mov"]; 
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:finishedMovie]; 
UIImage *thumbnail = [player thumbnailImageAtTime:1.0 timeOption:MPMovieTimeOptionNearestKeyFrame]; 

previewScreen = [[PreviewScreenViewController alloc]initWithNibName:@"PreviewScreenViewController" bundle:nil]; 
previewScreen.thumbnailImage = thumbnail; 
[self presentModalViewController:previewScreen animated:YES]; 

然後在模態視圖類本身:

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view from its nib. 
previewImageBox.image = thumbnailImage; 

} 

的問題是,當視圖顯示,它似乎忽略了在xib中設置的內容模式,只是將圖像以完整大小插入。

這看起來像一個錯誤,因爲當我回到這個視圖時,圖像正好適合UIImage視圖。

任何人都可以幫忙嗎?

謝謝。

+1

你有沒有嘗試在viewDidAppear中設置圖像? – ssteinberg 2012-04-29 12:57:58

+0

是的 - 沒有喜悅 - 同樣的問題。 – GuybrushThreepwood 2012-04-29 22:55:29

回答

1

好的解決了!如果你在代碼中手動創建UIImageView,它似乎工作。

// Do any additional setup after loading the view from its nib. 
//Work around to solve bug in UIToolkit where aspect ratio is ignored when view loads. 
imageView = [[UIImageView alloc] initWithFrame:CGRectMake(13, 87, 294, 164)]; 
//Set the image to our thumbnail. 
[self.view addSubview:imageView]; 
0

更可能的是你有clipsToBounds屬性設置爲NO。這將阻止UIImageView剪輯其內容之外的內容。您可以設置UIImageView圖層的borderColor以查看這是否實際發生。

相關問題