我尝试动画isHidden,似乎工作正常,但如果我通过将yes
设置为真5次错误地动画 isHidden = false 5次,那么有时我应该动画 isHidden = true 2次或更多时间让我的UIView可见!
我错过了什么吗?
if (yes)
{
UIView.animate(withDuration: 0.3, delay:0, animations: {
myLabel.isHidden=false
}
}
else
{
UIView.animate(withDuration: 0.3, delay:0, animations: {
myLabel.isHidden=true
}
}
答案 0 :(得分:1)
您不应为视图的“isHidden”参数设置动画。你应该为它的动画制作动画。
public void SetPersonField(Person person, <should it be Type?> personFieldType)
{
// accessing person's correct field type
}
- 更新 -
如果你想在动画后隐藏视图,你可以使用它:
if (yes)
{
UIView.animate(withDuration: 0.3, delay:0, animations: {
myLabel.alpha=1.0
}
}
else
{
UIView.animate(withDuration: 0.3, delay:0, animations: {
myLabel.alpha=0.0
}
}
答案 1 :(得分:0)
我认为问题是你在Bool类型上使用线性动画,它只有2个值(false = 0,true = 1)以及它之间的任何其他值(它的脉冲)。
试试这个:
if (yes)
{
myLabel.alpha = 0
myLabel.isHidden = false
UIView.animate(withDuration: 0.3, animations: {
myLabel.alpha = 1
})
}
else
{
UIView.animate(withDuration: 0.3, animations: {
myLabel.alpha = 0
}, completion: { (status) in
myLabel.isHidden = true
})
}