我在我的视图控制器上使用了一个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。
答案 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];
}