我用动画把一个按钮移动了,在完成的时候移除一个imageView,结果按钮就变回原来的地方了。(按钮是xib里面的,imageview是代码写的),我写的不是相对坐标。
代码如下:
[UIView animateWithDuration:0.5
                          delay:0
                        options:UIViewAnimationOptionCurveEaseOut
                     animations:^(){
                          
                      //移动按钮
                         btn.frame = CGRectMake(6, 6, 115, 72);
                         
                     }completion:^(BOOL finished){
                        //  remove  ImageView !!
                         [self.imageView removeFromSuperview];
                     }];
如果不加 [self.imageView removeFromSuperview];   动画完成是没问题的,加了之后image view的确移除了,但是按钮回到了xib中得初始位置,就是动画前位置,很苦恼,求解答。

解决方案 »

  1.   

    还有就是btn与imageview没有什么关系,没有用相对坐标,也没有重叠。
      

  2.   

    [UIView animateWithDuration: animations:completion:]
    建议楼主用这个方法试试。
      

  3.   

    很少用XIB,不过个人估计是由于removeFromSuperview而引发的重新加载XIB的问题,你可以试试用 setHidden来代替
      

  4.   

    这个我试过了,没有问题,可以隐藏,位移动画正常执行,这个真和XIB有关系么?
      

  5.   

    试过了,不用XIB确实是正常的,有大神指导机理的么?