2012-05-11 3 views
0

기본 ViewController와 별도로 xib에서 전환 한 프로젝트가 있습니다. UISwitch를 OFF로 전환하면 ViewController의 버튼이 숨겨 지도록하려고합니다. 나는 xib의 .m 파일에서 AppDelegate를 선언하려했지만 여전히 운이 없다. 내 코드는 다음과 같습니다Xcode에서 하나의 xib에서 다른 xib로 객체 선언?

- (void)viewDidAppear:(BOOL)animated { 

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 

} 내가 잘못 뭐하는 거지

? 나는 또한 두 번째 XIB (주의 ViewController가없는 한)

#import "AppDelegate.h" 
#import "ViewController.h" 

하지만 여전히 NOTHING의하는 .m 파일에서이 작업을 수행 한

if (switch.on) { 
    myButton.hidden = YES; 
    } else { 
    myButton.hidden = NO; 
} 

할 노력하고 있어요! 기본적으로 하나의 xib에있는 버튼을 다른 버튼에서 선언하려고합니다. 그게 다야. 제발 도와 줘서 고마워!

+0

은 같은 스토리 보드의 두 번째 xib입니까? 마찬가지로 양쪽보기 컨트롤러는 같은 스토리 보드 화면에 나타나거나, viewcontroller와 함께 스토리 보드에 나타나지 않는 별도의 nib 파일입니까? – Pochi

+0

@LuisOscar 스토리 보드를 사용하지 않습니다. 내 프로젝트 폴더에는 AppDelegate.h, AppDelegate.m, ViewController.xib, ViewnController.h 및 ViewController.m이 있습니다. 내 두 번째 xib에 대한 두 번째 폴더에서 settings.h, settings.m 및 settings.xib을 (설정 이름을 지정했습니다.) 어떻게해야합니까? –

답변

1

우선, this about passing data between view controllersthis about UISwitch을 참조하십시오.

당신은이 항아리

FirstViewController.h 같은 코드 뭔가를 설정, 이해하면 :

@interface FirstViewController : UIViewController 
{ 
    ... 
} 
@property IBOutlet UISwitch *theSwitch; 

- (IBAction)switchToggled; 

@end 

SecondViewController.h :

@interface SecondViewController : UIViewController 
{ 
    ... 
} 
@property IBOutlet UIButton *button; 
@property UIViewController *theFirstViewController; 

@end 

theFirstViewController 설정됩니다 있는지 확인 여하튼 - 다시, passing data between view controllers를보십시오. 그런 다음 switchToggled에서이 작업을 수행 할 수 있습니다

- (IBAction)switchToggled 
{ 
    theFirstViewController.button.hidden = YES; 
} 

기억해야 할 중요한 것은 뷰 컨트롤러가 마술 서로에 대해 모르는 것입니다. 비록 당신이 AppDelegate로 무언가를하려고해도 당신은 노력하고 있습니다. SecondViewControllerFirstViewController을 참조해야합니다.

관련 문제