ref1view.hidden = NO;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.25f];
[ref1view setAlpha:([ref1view alpha] == 1.0f) ? 0.0f : 1.0f];
[UIView commitAnimations];
任何人都可以告诉我这是如何工作的细分?特别是这一行:
[ref1view setAlpha:([ref1view alpha] == 1.0f) ? 0.0f : 1.0f];
似乎这个函数会动画从0到0的alpha并从1-0回来,我只是不理解语法。 谢谢!
答案 0 :(得分:13)
[ref1view setAlpha:([ref1view alpha] == 1) ? 0.0f : 1.0f];
:
如果它为0,则将ref1view
的alpha设置为1,如果为1,则设置为0.这称为三元运算符,简写为if-else
。
(condition) ? conditionistrue : conditionisfalse;
答案 1 :(得分:3)
它是一个三元运算符......与
相同if(ref1view alpha == 1)
{
[ref1view setAlpha:0.0f];
}
else
{
[ref1view setAlpha:1.0f];
}