无法使用CGRectMake隐藏View控制器内的视图

时间:2013-08-13 18:13:58

标签: iphone uiview uiviewcontroller xcode4

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

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

的插座

此视图的默认位置(在Xcode的右侧属性栏上)为(x,y,height和width)的(0,200,320,261),它基本上使它出现在ViewController的底部。

我在视图控制器加载时最初隐藏的视图是在ViewDidLoad方法中放入此代码:

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

对于show按钮的操作,

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

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

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

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

2 个答案:

答案 0 :(得分: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;
      }

}


希望这有助于.. :))

答案 1 :(得分:0)

您可以在'viewWillAppear:'中调用隐藏代码,如下所示:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self hidePicker];
}