UIView 开始动画不起作用

Posted

技术标签:

【中文标题】UIView 开始动画不起作用【英文标题】:UIView beginanimation not working 【发布时间】:2012-06-07 21:44:45 【问题描述】:

当在 uiview 中存在的 uitableview 中点击单元格时,我使用此代码,但没有执行用户点击时应该在单元格上执行的“flash”。

-(IBAction)labelTap:(UIGestureRecognizer *)sender

    if(sender.state != UIGestureRecognizerStateRecognized)
        return;

    UIView *tappedview=[sender.view hitTest:[sender locationInView:sender.view] 
                                  withEvent:nil];

    UIView *contentview1=tappedview.superview.superview;

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    [contentview1 setAlpha:0];
    [contentview1 setAlpha:1];
    [UIView commitAnimations];


任何帮助表示赞赏。

【问题讨论】:

我也试过 tappedview.superview 但没有任何反应。 有什么问题?代码是否运行但没有动画?您确定 contentview1 是正确的动画视图吗? 是的,我修复了下面的代码。 【参考方案1】:

试试这个是否有效!

 UIView *contentview1=tappedview.superview;
[contentview1 setAlpha:0];
    [UIView animateWithDuration:0.3f
                     animations:^(void) 
    
        // Animate the flash on tap


        [contentview1 setAlpha:1];

    
    completion:^(BOOL finished) 
    
        NSLog(@"Done! Now show the pop up");
    )];

【讨论】:

你知道你在 UIView-animation 中做 UIView-animation,对吧? 是的,我修复了代码。它现在正在工作,谢谢。问题是 uiview 动画在弹出显示之后执行,这是合乎逻辑的。这是我的错。

以上是关于UIView 开始动画不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UIView transform.scaleBy 动画不起作用

UIView 动画不起作用

UIView 块动画不起作用

动画 UIView 宽度不起作用

当我将 UIView 动画放在不同类的 containerView 中时,为啥我的 UIView 动画不起作用?

通过动画调整 UIView 大小时约束不起作用