我在按钮的最右边有一个按钮。
现在我有一个需要在点击按钮时显示的选择器视图。
使用以下代码正常工作:
-(IBAction)buttonPressed:(id)sender
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
CGAffineTransform transform = CGAffineTransformMakeTranslation(0, 200);
monthPicker.transform = transform;
[self.view addSubview:monthPicker];
[UIView commitAnimations];
}
但是当我看到没有选择器视图时,我搜索了将选择器视图隐藏起来并显示,我找到了一个解决方案.....将上面的代码添加到上面的方法中:
monthPicker.hidden = [monthPicker isHidden]?不:是的;
现在,当我点击按钮时,第一次尝试时没有显示选择器视图,但是从第二次尝试开始以及之后它的工作完美。
有什么建议吗?
答案 0 :(得分:1)
monthPicker最初是否隐藏?当方法第一次调用时。如果不是 - 它隐藏,你看不到它。也许您需要在init方法中设置monthPicker.hidden=YES
。
答案 1 :(得分:1)
来自@Padavan的答案应该有效,但是如果你想要“在动画中”的淡化效果,隐藏的属性就不起作用了。您必须使用UIView.alpha属性。这是我的示例代码。
- (void) viewDidLoad {
[super viewDidLoad];
/////////////////////////////////////////////////
// ... Initialize your month picker here //
/////////////////////////////////////////////////
monthPicker.alpha = 0;
[self.view addSubview:monthPicker];
}
- (void)buttonPressed:(id)sender
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
CGAffineTransform transform = CGAffineTransformMakeTranslation(0, 200);
monthPicker.transform = transform;
monthPicker.alpha = monthPicker.alpha * (-1) + 1;
[UIView commitAnimations];
}