我想从底部移动一个UIView到顶部。 我正在使用iOS SDK 7.0,uiviewcontroller的自动布局已打开。UIView animateWithDuration没有得到执行
- (void) viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.view bringSubviewToFront: myView];
[self moveFromBottom];
}
- (void) moveFromBottom{
[myView setBackgroundColor:[UIColor redColor]];
CGPoint top = myView.center;
top.y = self.view.frame.size.height - top.y;
[UIView animateWithDuration:5.0f
delay:0.0f
options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionBeginFromCurrentState
animations:^{
myView.center = top;
}
completion:^(BOOL finished){
if (finished) {
NSLog(@"finished");
}
}
];
完成块得到执行并打印完成但UIView不移动。
我也尝试了动画帧而不是中心,它也不工作。
但是,如果我尝试动画阿尔法相反,它会工作
编辑:如果我在故事板关闭自动布局也将正常工作。
没有top.y和myView的center.y很不一样 – Will