我无法在PageView控制器上更改UIImageView的图像



我使用 UIPageViewController,我的每个视图在 UIScrollView 中都有一个 UIImageView。我想在方向改变时更改UIImageView的图像。我可以控制更改事件并更改图像,但它不会更改当前视图图像,它会在当前视图之前更改视图。这是设置图像并将其加载到 UIImageView 的第一种方法。

-(void)loadImageToImageView{
UIImage *image =[UIImage imageNamed:self.imageName];
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:image];
[self.scrollView setFrame:CGRectMake(0, 0, self.view.frame.size.width , self.view.frame.size.height)];
[self.scrollView setBackgroundColor:[UIColor blackColor]];
[tempImageView setFrame:CGRectMake(0, 0, self.view.frame.size.width , self.view.frame.size.height)];
tempImageView.backgroundColor = [UIColor blackColor];
self.imageView = tempImageView;
[self.imageView setContentMode:UIViewContentModeScaleAspectFit];
self.scrollView.minimumZoomScale = 1;
self.scrollView.maximumZoomScale = 4.0;
self.scrollView.delegate = self;
self.scrollView.zoomScale = 1;
[self.scrollView addSubview:self.imageView];
self.scrollView.bounces = NO;
}

此方法在方向改变时触发。

-(void)changeImage{
UIImage *image =[UIImage imageNamed:self.landscapeImage];
[self.imageView setImage:image];

}

在下面的UIPageViewControllerDelegate方法中更改图像名称

-(UIViewController *)viewControllerAtIndex:(NSInteger)index {
     PageViewController *childViewController = [[ZoomContainerViewController alloc] initWithNibName:@"ZoomContainerViewController" bundle:nil]; //load the xib file
     childViewController.imageName = requiredImageString;
     return childViewController;
}

然后在 PageViewControllerviewdidload() 方法中将该图像名称的图像设置为:

 self.backgroundImageView.image = [UIImage imageNamed:self.imageName];

最新更新