2012-12-18 70 views
-1

我试图在Storyboard上实现UIDatePicker。正如你所期望的那样,当视图第一次加载时,日期选择器不能在屏幕上显示,所以我必须编写自定义代码以便在加载时将其从屏幕上移开。这里是代码...iOS:隐藏UIView对象

- (void)hideDatePicker 
{ 
    CGRect newRect = self.datePicker.frame; 
    CGPoint newOrigin = CGPointMake(0, [[UIScreen mainScreen] bounds].size.height); 
    newRect.origin = newOrigin; 

    self.datePicker.frame = newRect; 
} 

我目前在viewDidLoad中调用此方法。

当我运行应用程序,日期选择器仍然在屏幕的底部,令人作呕占据半个屏幕...

+0

什么是self.datePicker当你这样做。也许你忘了将picker链接到你的代码和self.datePicker == nil。 – onevcat

+0

不要在viewDid Load中调用它:如果你想稍后加载它。可以在按钮操作上调用该方法或隐藏它,然后使其隐藏。 – Divya

回答

1

您可能要实现它的UIActionSheet,一个不那么困难和优雅的解决方案内。看看这个问题,它会给你一个简要的解释和必要的代码。 Add UIPickerView & a Button in Action sheet - How?

+0

党,甚至不知道这个UI元素存在......谢谢! – brianSan

1

-viewDidLoad:你不能确保所有IBOutlets被实例化,所有几何集合,所以如果您使用任何几何变换,最好在-view[Will/Did]Appear:中调用您的方法。 而且它更容易隐藏与hidden财产

yourView.hidden = YES;