【问题标题】:Cannot hide a view inside View controller with CGRectMake无法使用 CGRectMake 隐藏视图控制器内的视图
【发布时间】:2013-08-13 18:13:57
【问题描述】:

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

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

这个视图的默认位置(在 Xcode 的右侧属性栏上)是 (0,200,320,261) for (x,y, height and width) 这基本上使它出现在 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。

【问题讨论】:

    标签: iphone uiview uiviewcontroller xcode4


    【解决方案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;
          }
    
    }
    


    希望这会有所帮助.. :)

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多