0

我在我的视图控制器上使用 UIView 项目,它包含一个选择器视图和一个按钮,只有在单击显示按钮时才需要出现在屏幕上。

我为我的 UIView 创建了一个名为 *pickerView 的插座

这个视图的默认位置(在 Xcode 的右侧属性栏上)是 (0,200,320,261) (x,y,高度和宽度),这基本上使它出现在 ViewController 的底部。

当视图控制器加载时,我为这个视图所做的最初隐藏是,在 ViewDidLoad 方法中,我放置了以下代码:

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

对于显示按钮的动作,

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

我在这个 UIView 中有一个隐藏按钮,在它的动作中我有

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

所以,从我运行应用程序时的预期来看,UIView pickerView 最初应该隐藏,因为 viewDidLoad 中的代码,并且显示按钮应该把它带到屏幕上。我的问题是显示和隐藏按钮工作正常,但是每次我加载这个 ViewController 时,默认情况下视图都会出现在屏幕上。当我加载 viewController 时帮助我隐藏这个 UIView。

4

2 回答 2

1

Simpley 没有为选择器视图设置框架我发布了一个示例代码,它使选择器视图隐藏并在点击按钮时出现我使用“隐藏”属性听到是示例代码

  - (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 回答
0

您可以像这样在“viewWillAppear:”中调用隐藏代码:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self hidePicker];
}
于 2013-08-13T18:19:44.450 回答