Cocoa touch 让一个物体淡入淡出
我有一个视图,当用户点击主视图时,该视图设置其Cocoa touch 让一个物体淡入淡出,cocoa-touch,ipad,Cocoa Touch,Ipad,我有一个视图,当用户点击主视图时,该视图设置其隐藏。我需要视野淡入淡出,这样它看起来比消失更平滑 以下是我迄今为止的代码(它位于触摸事件中): 只需像这样包装代码: [UIView beginAnimations:nil context:NULL]; if (!isShowing) { isShowing = YES; myView.hidden = NO } else { isShowing = NO; myView.hidden = YES } [UIVi
隐藏。我需要视野淡入淡出,这样它看起来比消失更平滑
以下是我迄今为止的代码(它位于触摸事件中):
只需像这样包装代码:
[UIView beginAnimations:nil context:NULL];
if (!isShowing) {
isShowing = YES;
myView.hidden = NO
}
else {
isShowing = NO;
myView.hidden = YES
}
[UIView commitAnimations];
或者简化为:
[UIView beginAnimations:nil context:NULL];
isShowing = !isShowing;
myView.hidden = isShowing? NO : YES;
[UIView commitAnimations];
您可能还想使用UIView
的setAnimationDuration:
,setAnimationCurve:
,或setAnimationBeginsFromCurrentState:
方法自定义视图淡入淡出的方式。我从未有幸设置隐藏动画。相反,为alpha设置动画。Hmmmm。。。无法让它工作。我需要用什么替换UIView吗?我对cocoa还是新手。UIView是拥有这些方法的类。难道风景根本就没有出现过吗?您确定它存在并且是屏幕上任何视图的子视图吗?是的,该视图确实显示并且是主视图的子视图。我试过做[UIView setAnimationDuration:5.0];但是运气不好。设置隐藏的动画有效吗?现在我研究它,我想你可能需要设置alpha
属性的动画。我确实将它切换到alpha,然后遇到了另一个问题。隐藏的是隐藏它之前,它可以动画出来,所以我只是删除隐藏和使用阿尔法。这正是我做的。将.alpha属性从1设置为隐藏,从0设置为显示。记住将它们包装在beginAnimation和commitAnimation块中。或者使用块形式(animateWithDuration:animations:
)。“hidden”是一个布尔属性。它无法设置动画。实际上,为alpha设置动画是正确的方法
[UIView beginAnimations:nil context:NULL];
isShowing = !isShowing;
myView.hidden = isShowing? NO : YES;
[UIView commitAnimations];