1

私はあなたの助けが必要です。私は2つの異なるビューコントローラーを持っています:1。ボタン付き2.画像ビュー付き。

ボタンの画像を2番目のViewControllerの画像ビューに渡そうとしています。prepareforsegueが呼び出されていますが、画像が通過しません。コードを添付しました:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"pushGuessLogo"])
    {
         GeneralGuess *vc = [segue destinationViewController];
          [self setLogoImageView:[[UIImageView alloc] initWithImage:self.logoImageSelected.imageView.image]];

        [vc setImageGuessView:self.logoImageView]; 
    }

}

ImageGuessViewは、ビューコントローラ番号2の画像ビューのアウトレットです。

ありがとうございました

4

2 に答える 2

4

先日誰かがこれに答えましたが、私は怠惰すぎてリンクを見つけることができません。(SOに、検索で表示されない無限の質問ではなく、質問が昇格するナレッジベースもあるとしたら素晴らしいと思いませんか)

要点は、viewControllerのビュー階層がの時点でまだ設定されていないprepareForSegueため、ImageGuessViewその時点ではnilです。できることは、クラスにUIImageプロパティを定義して設定することです。GeneralGuess次に、viewWillAppearその画像をにロードしますImageGuessView

于 2012-07-18T21:05:39.500 に答える
0

が呼び出されたときに宛先がまだロードされていないprepareForSegueため、画像ビューが読み込まれるため、画像nilを設定しようとしても何も起こりません。

代わりに、画像を渡して宛先ビューコントローラのプロパティに保存し、後で宛先ビューコントローラの画像ビューに設定する必要がありますviewDidLoad

于 2012-07-18T21:03:37.650 に答える