0

表示ボタンがクリックされたときにのみ画面に表示する必要があるピッカー ビューとボタンを含むビュー コントローラーで UIView アイテムを使用しています。

*pickerView という名前で UIView のアウトレットを作成しました

このビューのデフォルトの位置 (Xcode の右側のプロパティ バー) は (x,y, 高さおよび幅) に対して (0,200,320,261) であり、基本的に ViewController のベースに表示されます。

ビューコントローラーがロードされたときに最初にこのビューを非表示にするために私がしたことは、ViewDidLoadメソッドに次のコードを入れたことです:

pickerView.frame=CGRectMake(0,450,320,261);

表示ボタンの動作については、

pickerView.frame=CGRectMake(0,200,320,261);

このUIView内に非表示ボタンがあり、そのアクションで私は持っています

pickerView.frame=CGRectMake(0,450,320,261);

SO、アプリケーションを実行したときに期待することから、UIView pickerView は最初は viewDidLoad のコードのために非表示になり、表示ボタンで画面に表示されるはずです。私の問題は、ボタンの表示と非表示が正常に機能することですが、このViewControllerをロードするたびに、ビューがデフォルトで画面に表示されます。viewController をロードするときに、この UIView を非表示にしてください。

4

2 に答える 2

1

シンプルにピッカービューのフレームを設定しないでください。ボタンをタップするとピッカービューが非表示になり、表示されるサンプルコードを投稿していますプロパティ「非表示」を使用していますが、サンプルコードが聞こえます

  - (void)viewDidLoad
 {
    [super viewDidLoad   // Do any additional setup after loading the view, typically from a nib.
                         //as simple dont set frame.
                         // i am using xib from there i wired up picker view
  self.myPickerView.hidden = YES; //just hide it whenever you dont use it.

 }

- (IBAction)whenShowHideButtonTapped:(id)sender
 {
     //when button pressed just show it
     if(self.myPickerView.hidden)
      {
         self.myPickerView.hidden = NO;
      }
     else
      {
         self.myPickerView.hidden = YES;
      }

}


お役に立てれば .. :)

于 2013-08-14T09:55:57.870 に答える