ModalViewController中的UIImageView忽略ContentMode - iPhone

问题描述:

我正在展示一个模式视图,并将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

好的解决了!如果你在代码中手动创建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]; 

更可能的是你有clipsToBounds属性设置为NO。这将阻止UIImageView剪辑其内容之外的内容。您可以设置UIImageView图层的borderColor以查看这是否实际发生。