2011-08-02 11 views
0

私は最初の罪深いiPhoneアプリを書いています。 ログイン画面が準備完了です。 MainWindowでViewを実装してログイン資格情報を取得し、すべてのUIをビュー(テキストボックスなど)に追加しました。iOS:初めてのアプリの初心者のヘルプ:ビューを切り替えますか?

今何ですか?

私は自分の資格情報をチェックしたいと思います。大丈夫なら、メインウィンドウからlogin-viewを削除し、すべての情報を含むメインビューを表示します。

どのようにすればいいですか?

ボタンイベントをloginviewcontrollerに簡単に追加し、そこのログIDを確認してメインウィンドウにアクセスし、そこからビュー自体を問題なく削除できますか? また、メインウィンドウのビューからボタンイベントを宣言して、すべてのことを行う必要がありますか?

マイコード:あなたのViewControllerで

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil andDelegate:(id)delegate 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     button.frame = CGRectMake(self.view.frame.size.width/2 - 55.0f, self.view.frame.size.height/2 + 85.0f 
           , 110.0f, 35.0f); 
     [button setTitle:@"title" forState:UIControlStateNormal]; 
     [button addTarget:delegate action:@selector(yourMethodInMainWindow:) forControlEvents: UIControlEventTouchDown]; 
     [self.view addSubview:button]; 
    } 
    return self; 
} 
+0

編集したコードを@kovuして、編集コメントを読んで、間違ったことを確認してください。また、あなたのコードを次の時間に簡単にフォーマットしてください。私はあなたが1588のrep-pointsを持っているので、あなたがどのように知っているかと思います。答えがあれば+1、それが働いたら+1してください:) –

答えて

2

はあなたが異なるビュー間の変換のためのナビゲーションコントローラを使用する必要があります。このiPhone View Switching Tutorial

1

:メインウィンドウとクラスで

//maybe you will need to have more arguments added to you init method 
//for instance you might be using -(id)initWithNibName:bundle: right now 
//then just add delegate to it like -(id)initWithNibName:bundle:andDelegate: 
//just to clarify: delegate = reference to class you want to call a method in 
-(id)initMethod:(id)delegate { 
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    self.button.frame = CGRectMake(self.view.frame.size.width/2 - 55.0f, self.view.frame.size.height/2 + 85.0f 
            , 110.0f, 35.0f); 
    [button setTitle:@"title" forState:UIControlStateNormal]; 
    [button addTarget:delegate action:@selector(yourMethodInMainWindow:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:button]; 

} 

-(void)yourMethodInMainWindow:(id)sender { 
    //do whatever you want to do. 
} 

プログラムでそれを設定する一つの方法です。もしあなたがnibを使用しているなら、あなたはあなたの.h-ファイルochタイプ- (IBAction)buttonClicked:(id)senderにメソッドを定義し、これらをインタフェースビルダーに接続します。

新しいビューをプッシュする方法はわかっています。例えばpresentModalViewController:animated:で行うことができます。これらのすべては既にstackoverflowとgoogle上にあります。

答えがhereの場合、UIApplicationにアクセスしてウィンドウにアクセスする方法について知っておく必要があります。

+0

こんにちは、 私がすでに知っていたことを知っています。 問題は、ビューに座っているボタンメソッドからMainWindowのメソッドを呼び出す方法ですか? – Kovu

+0

mainWindowを 'delegate'としてビューに渡して、次のように使用する方法はあります:' button addTarget:delegate action:@selector(whatEverMethodInMainWindow :) forControlEvents:UIControlEventTouchUpInside]; ' –

+0

私はそれがまさに私が探していたものだと思っていますが、私はこのコードで作業する方法を理解していません。あなたは少しの例を作ることができますか/どのように答えますか? – Kovu

0

を確認してください。

まず、そして、MainWindow.xib

にそのナビゲーションコントローラの負荷LoginViewControllerナビゲーションコントローラを挿入します。 LoginviewControllerは、urのログインIDとパスワードとログインbtnが配置されるビューになります。

さて、ログインBTNアクションのために、あなたがこの方法を記述した後、ちょうどインタフェースビルダであなたの.xibファイルにBTNにこの方法を添付し、

- (IBAction) loginBtnPressed : (id) sender{ 

    MainViewController *newObject = [MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil]; 

    [self.navigationController pushViewController:newObject animated:YES]; 

} 

の方法を記述します。

関連する問題