2011-08-11 11 views
0

私は2つのボタンがあるuiviewを持っているアプリケーションがあります。私はこのような私のuiviewのフレームを設定しています。iphoneでボタンをクリックして表示する方法を取得する

newview = [[UIView alloc]initWithFrame:CGRectMake(0,350,320,70)]; 

と私は2つのボタンが追加されているこの新しいビューに

[self.view addSubview:newview]; 

その後、私のメインビューに設定します。新しいビューの右側の新しいボタンと他のボタンの左側にあるボタン。

これはボタン

leftnavbutton= [[UIButton buttonWithType:UIButtonTypeCustom] retain]; 
      leftnavbutton.backgroundColor = [UIColor clearColor]; 
      [leftnavbutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal ]; 

UIImage *buttonImageleft = [UIImage imageNamed:@"previous_large.png"]; 
      //UIImage *strechableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0]; 

[leftnavbutton setBackgroundImage:buttonImageleft forState:UIControlStateNormal]; 
      [leftnavbutton addTarget:self action:@selector(playAction:) forControlEvents:UIControlEventTouchUpInside]; 
[leftnavbutton setFrame:CGRectMake(23, 28, 8, 44)]; 
      [newview addSubview:leftnavbutton]; 



rightnavbutton= [[UIButton buttonWithType:UIButtonTypeCustom] retain]; 
      rightnavbutton.backgroundColor = [UIColor clearColor]; 
      [rightnavbutton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal ]; 

UIImage *buttonImageright = [UIImage imageNamed:@"next_large.png"]; 
      //UIImage *strechableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0];    

[rightnavbutton setBackgroundImage:buttonImageright forState:UIControlStateNormal];   

[rightnavbutton addTarget:self action:@selector(play:) forControlEvents:UIControlEventTouchUpInside];   

[rightnavbutton setFrame:CGRectMake(275, 28, 8, 44)]; 
[newview addSubview:rightnavbutton]; 

ための私のコードで私はこれらのボタンをクリックしたときに、今私はしたいです。私の新しい見解に代えて、新しい見解が置き換えられるべきです。 たとえば、新しいビューでアプリケーションを実行すると、xmlからフェッチされた現在の条件が表示されます。右ボタンをクリックすると新しいビューが開き、forecsat条件タグfron xmlを取得して表示し、右ボタンをクリックすると再び現在の状態を表示するはずです。すなわち、それはループ内にあるべきである。左ボタンをクリックするとagaing予測条件が表示されます。これはどのように可能ですか?

+0

再生と再生のアクションを実装しましたか?また、各ビューのコントローラを持つ方が良いです。 –

+0

@praveenいいえ私はプレイアクションを実装していません – Rani

+0

View Controllerはもっと良く機能し、確実に実装するのが簡単です。それを試してみてください... –

答えて

1

newViewを別のビューに置き換えてください。これを行うには、最初にnewViewのtagを設定する必要があります。 playAction

newview = [[UIView alloc]initWithFrame:CGRectMake(0,350,320,70)]; 
newView.tag = 7; // set whatever number you want 
[self.view addSubview:newview]; 

newViewのホールドを取得し、superViewから削除します。次に、別のビューをその場所に追加します。

-(void)playAction:(id)sender 
{ 
    UIView* newView = [self.view viewWithTag:7]; 
    [newView removeFromSuperView]; 

    //create and add the new new view that should replace new view. Use the same frame. 
    UIView* newnewview = [[UIView alloc]initWithFrame:CGRectMake(0,350,320,70)]; 
    newnewView.tag = 7; // set whatever number you want 
    [self.view addSubview:newnewview]; 

     //Add the left & right buttons again, as they were removed when newView was removed 
     ... code to add buttons... 
} 

同様に、play:メソッドを実装できます。

+0

こんにちはakshayのようにuボタンをクリックしてビュークラスが呼び出されているが、私はprobを持っています。私はtableviewの行の値を取得して、uiviewで表示していますが、表示目的のために、tableviewは隠された状態に保たれています。私はswitchpath.rowを呼び出してブレークポイントを入力しません。 – Rani

+0

テーブルがどこから来たのか分かりません。いくつかのボタンが押されたときにビューを変更したいと思っていました。 – Akshay

関連する問題