在UIImageView中获取图像数组(在UIPageViewController中)

use*_*042 5 xcode uiimageview ios uipageviewcontroller

我从Apple提供的标准的基于PageView的应用程序模板开始.现在,我希望应用程序中的页面显示图像,而不是文本.数组创建如下:

 _pageData = [[NSArray alloc] initWithObjects:
                 [UIImage imageNamed:@"1.png"],
                 [UIImage imageNamed:@"2.png"],
                 [UIImage imageNamed:@"3.png"],
                 nil];
Run Code Online (Sandbox Code Playgroud)

此数组按以下方式处理:

DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
dataViewController.dataObject = [self.pageData objectAtIndex:index];
return dataViewController;
Run Code Online (Sandbox Code Playgroud)

然后,在DataViewController.h中:

@interface DataViewController : UIViewController

@property (strong, nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) UIImage *dataObject;
Run Code Online (Sandbox Code Playgroud)

在DataViewController.m中,我试图通过以下方式在de imageView中显示图像:

- (void)viewWillAppear:(BOOL)animated
  {
    [super viewWillAppear:animated];

    self.imageView = [[UIImageView alloc] initWithImage:_dataObject];

    NSLog(@"dataObject %@", _dataObject);

  }
Run Code Online (Sandbox Code Playgroud)

但是,使用此代码,我没有成功将图像放到PageViewController上.知道我怎么能让这个工作正常吗?

非常感谢你的帮助!

Chr*_*oph 4

这里

self.imageView = [[UIImageView alloc] initWithImage:_dataObject];
Run Code Online (Sandbox Code Playgroud)

你正在创建一个新的UIImageView悬挂未使用,不可见和没有父.你需要以某种方式设置它的大小,并将其放在父视图中

[<parent> addSubview:self.imageView]
Run Code Online (Sandbox Code Playgroud)

展示它.

如果你从资源文件中读取原始的UIImageView(我假设是因为它是一个IBOutlet),那就做一个

self.imageView.image = _dataObject
Run Code Online (Sandbox Code Playgroud)

而这应该做的工作.