2013-08-28 229 views
0

我在故事板文件中有兩個視圖控制器類以及兩個視圖。一個命名爲ViewController,另一個命名爲SettingsViewController,因爲它是第一個視圖的設置。我在設置視圖上有一個UISwitch,我希望它改變ViewController類中的圖像視圖。我如何從我的Settings類訪問它並更改圖像視圖的圖像?我已經嘗試導入ViewController類併合成圖像視圖,但它說圖像視圖必須在ViewController類中聲明。從不同的視圖控制器訪問圖像視圖

+0

你可以在你想要實現它的地方顯示代碼嗎? – LuisCien

回答

0

在你SettingsViewController:

.h file 
@interface SettingsViewController : UIViewController { 
    UIImageView *imageView; 
} 

@property (strong, nonatomic) UIImageView *imageView; 

.m file 
@implementation SettingsViewController { 

@synthesize imageView; 

現在您的視圖控制器,你需要實現prepareForSegue方法:

.m file 

#import "SettingsViewController" 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqual:@"goToSettingsSegue"]) { 
     SettingsViewController *dest = segue.destinationViewController; 
     dest.imageView = self.imageView; //set the image in your view as the image in the settings view 
    } 
} 

現在你應該可以訪問它在設置視圖。

+0

現在它說在行'dest.imageView = self.imageView;'上找不到'ViewController *'類型的對象上的'Property'imageView'。 – DoctorLawyerAstronaut101

+0

您是否在ViewController類中聲明瞭imageView的插口? Ctrl +將UIImageView從故事板拖到ViewController類的頭文件中,並將其命名爲「imageView」。 – james00794

+0

謝謝。但我想你可能誤解了我的問題。我想要它,所以如果設置視圖控制器中的開關打開,它會調用一個方法。 – DoctorLawyerAstronaut101

相關問題