0

2つのサムネイルを備えたサムネイルビューコントローラがあります。それぞれに、イメージ名を設定するIBActionがあります。次のビューでは、画像全体が表示されます。

初めてボタンを選択すると、新しいビューが開きますが、完全に空白になります。前の画面(ナビゲーションコントローラー)に戻り、ボタンをもう一度選択すると、フルイメージ画面に正しいフルイメージが表示されます。

バックアウトして2番目のボタンを選択すると、最初のボタンの完全な画像が表示されます。

画像全体が1回の反復でずれているように見えます。

以下は、いくつかのコードスニペットです。

thumbnailViewController.M

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    fullImageViewController *targetVC = (fullImageViewController*)segue.destinationViewController;
targetVC.fullImageName = _imageName;
}

- (IBAction)running1 {
_imageName = @"img_running1.png";
}

- (IBAction)running2 {
_imageName = @"img_running2.png";
}

fullImageViewController.m

- (void)viewDidLoad
{
[super viewDidLoad];
_fullImage.image = [UIImage imageNamed: _fullImageName];
}

助言がありますか。

4

1 に答える 1

1

IBActionとSegueの両方がボタンに接続されていると思いますか?もしそうなら、これはあなたの問題です。セグエはIBActionの前に発生します。解決策は、ボタンをセグエに接続する代わりに、IBActionに実行させることです。

- (IBAction)running1 {
    _imageName = @"img_running1.png";
    [self performSegueWithIdentifier:@"yourSegue" sender:self];
}

これにより、制御できるように順序が修正されます。そうでなければ、私はそのセグエと行動を信じています。

于 2012-05-21T01:24:10.987 に答える