2012-05-11 8 views
0

メインのViewControllerとは別のxibからの切り替えを持つプロジェクトがあります。あなたがUISwitchをOFFに切り替えると、ViewControllerのボタンが隠されるようにしています。私はAppDelegateをxibの.mファイルに宣言しようとしましたが、まだ運がありません。私のコードは次のとおりです。Xcodeでオブジェクトをあるxibから別のxibに宣言しますか?

- (void)viewDidAppear:(BOOL)animated { 

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

}

私が間違って何をしているのですか?私はまた、第二XIB(メインのViewControllerを持っていない1)

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

しかし、まだNOTHINGの.mファイルでこれを行っている

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

やろうとしています!だから、基本的に、私はちょうど別のxibからボタンを宣言しようとしています。それでおしまい。ありがとう!

+0

は同じストーリーボードの2番目のxibですか?同様に、両方のビューコントローラは同じストーリーボード画面に表示されますか、それともviewcontrollerと共にストーリーボードに表示されない別のnibファイルですか? – Pochi

+0

@LuisOscar私はストーリーボードを使用していません。私のプロジェクトフォルダには、AppDelegate.h、AppDelegate.m、ViewController.xib、ViewnController.h、およびViewController.mがあります。私の2番目のxibの2番目のフォルダ(settingsという名前の)settings.h、settings.m、settings.xibで何をすればいいですか? –

答えて

1

まず、this about passing data between view controllersおよびthis about UISwitchを参照してください。

あなたはセットアップthis--

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を参照してください。覚えておくべき重要なことは、あなたのビューコントローラが魔法のようにお互いを知らないということです

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

:次にswitchToggledに、あなたはこれを行うことができます。あなたが試みていたようなAppDelegateで何かをしても。 SecondViewControllerにはFirstViewControllerへの参照が必要です。

関連する問題