5

私はAppleが提供する標準のPageViewベースのアプリケーションテンプレートから始めました。ここで、テキストの代わりに、アプリのページに画像を表示したいと思います。配列は次のように作成されます。

 _pageData = [[NSArray alloc] initWithObjects:
                 [UIImage imageNamed:@"1.png"],
                 [UIImage imageNamed:@"2.png"],
                 [UIImage imageNamed:@"3.png"],
                 nil];

この配列は次のように処理されます。

DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
dataViewController.dataObject = [self.pageData objectAtIndex:index];
return dataViewController;

次に、DataViewController.hで:

@interface DataViewController : UIViewController

@property (strong, nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) UIImage *dataObject;

そして、DataViewController.mで、次の方法でdeimageViewに画像を表示しようとしています。

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

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

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

  }

ただし、このコードでは、画像をPageViewControllerに取り込むことに成功していません。これを適切に機能させる方法はありますか?

助けてくれてありがとう!

4

2 に答える 2

4

ここ

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

未使用、非表示、親なしでぶら下がっている新しい UIImageView を作成しています。何らかの方法でサイズを設定し、親ビューに配置する必要があります

[<parent> addSubview:self.imageView]

それを示すために。

元の UIImageView がリソースファイルから読み取られた場合 ( IBOutlet であるため、そうすると思います)、単に実行します

self.imageView.image = _dataObject

これは代わりに仕事をするはずです。

于 2012-04-24T14:34:34.860 に答える