2012-01-06 7 views
0

他のviewControllerからUIImageViewを変更しようとしていますが、なぜイメージが変更されないのかわかりません!!ここに私のコードは次のとおりです。UIImageViewをanotherVIewControllerから変更する

#import "ViewController.h" 

@class ViewController; 
@interface CoverGallery : UIViewController { 

    ViewController *mainViewController; 
} 
@property (nonatomic,retain) ViewController *mainViewController; 
- (IBAction)img1; 

.M

- (IBAction)img1 { 

    mainViewController.coverArt.image = [UIImage imageNamed:@"coverDefault.png"]; 
    [self dismissModalViewControllerAnimated:YES]; 

} 

MainViewControllerでcoverArt呼ばUIImageViewがあり、ここで感謝

は、ビューを切り替える私のボタンアクションです:

ViewController(私の最初のビュー) .h

@interface ViewController : UIViewController { 
ViewController *mainViewController; 

} 

@property (nonatomic, retain) ViewController *mainViewController; 


.m : 

@synthesize mainViewController; 


- (void) CoverGallery { 

    CoverGallery *gallery = [[CoverGallery alloc] initWithNibName:@"CoverGallery" bundle:nil]; 
    gallery.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    [self presentModalViewController:gallery animated:YES]; 

//here is the problem, compiler gives me the mainViewController is not the property of CoverGallery 
gallery. mainViewController = self; 
    [gallery release]; 

} 
+1

'[UIImage imageNamed:@" coverDefault.png "]'が実際に有効な画像を返すかどうかチェックしましたか? – Till

+0

'mainViewController'はどこで設定しますか? –

+1

はいそれを次のように設定します。[gallery.mainViewController = self];ギャラリービューを表示する前に。 –

答えて

0

どのようにプロパティmainViewControllerを初期化していますか?モーダルビューを表示するときにそのプロパティを設定することによって、MainViewControllerとして設定する必要があります。 私はあなたがMasterViewControllerでこれをやって想像:

CoverGallery *gallery = [[CoverGallery alloc]initWithNibName:@"CoverGallery" bundle:nil]; 
    gallery.masterViewContrller = self; //Set it here 
    [self presentModalViewController:gallery animated:YES]; 

は私が ...誤植を修正し、この:

ViewController *mainViewController; 

は次のようになります。

MainViewController *mainViewController; 

が、あなたはそれをインポートする必要があります同じヘッダーファイルに格納します。

+0

gallery.masterViewController = self;コードを更新しました –

+0

最初のViewControllerの名前は何ですか? ViewControllerという名前ですか?あなたの最初のviewControllerは、モーダルビューを提示しているMasterViewControllerという名前であると思いました。 –

+0

あなたは@property(nonatomic、retain)をしましたViewcontroller * mainViewController;あなたのヘッダーに? .m内のmainViewControllerを合成するようにしてください。 –

関連する問題