2013-08-28 3 views
0

У меня есть два класса контроллера классов вместе с двумя представлениями в моем файле раскадровки. Один из них называется ViewController, а другой называется SettingsViewController, потому что это настройки для первого представления. У меня есть UISwitch в представлении «Настройки», и я хочу, чтобы он менял вид изображения, который находится в классе ViewController. Как получить доступ к этому из моего класса «Настройки» и изменить образ изображения? Я уже пробовал импортировать класс ViewController и синтезировать представление изображения, но он говорит, что представление изображения должно быть объявлено в классе ViewController.Доступ к представлению изображения с другого контроллера просмотра

+0

Можете ли вы показать код, в котором вы пытаетесь это реализовать? – LuisCien

ответ

0

В вашем SettingsViewController:

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

@property (strong, nonatomic) UIImageView *imageView; 

.m file 
@implementation SettingsViewController { 

@synthesize imageView; 

Теперь в вашем ViewController, вам нужно реализовать метод 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

Теперь он говорит: «Свойство imageView» не найдено на объекте типа «ViewController *» на строке dest.imageView = self.imageView ;. – DoctorLawyerAstronaut101

+0

Вы объявили о выходе своего изображения в классе ViewController? Ctrl + Перетащите UIImageView из раскадровки в заголовочный файл класса ViewController и назовите его «imageView». – james00794

+0

Спасибо. Но я думаю, что вы, возможно, неправильно поняли мой вопрос. Я хочу, чтобы это произошло, если переключатель в контроллере просмотра настроек включен, он вызывает метод. – DoctorLawyerAstronaut101

Смежные вопросы