UIView animateWithDuration ...在iOS 8中不起作用

时间:2015-01-30 02:38:16

标签: ios objective-c xcode animation ios8

当键盘出现时尝试为按钮设置动画时,我遇到了[UIView animationWithDuration]的问题。我有一个通知告诉我键盘何时出现然后我在视图中使用ViewController调用此方法。按钮动画但不正确。它只是从屏幕上的随机位置动画到之前的位置。我再次提出这个问题的原因是因为我已经看到其他帖子的答案说在ViewController中将视图的translatesAutoresizingMaskIntoConstraints属性设置为YES将解决问题,但它并没有解决问题

    [self.view setTranslatesAutoresizingMaskIntoConstraints:YES];

动画如下:

- (void)animateForKeyboardAppearanceWithKeyboardSize:(CGSize)keyboardSize; {
    [UIView animateWithDuration:0.3f
                 animations:^{
                     [self.sendSMSButton setFrame:CGRectMake(0,
                                                             self.frame.size.height - keyboardSize.height - self.sendSMSButton.frame.size.height,
                                                             self.frame.size.width,
                                                             self.sendSMSButton.frame.size.height)];
                 }];
}

任何人都知道发生了什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否确保不会重复调用此方法?还可以尝试对按钮进行子类化,覆盖-setFrame并仔细检查是否有其他东西在您尝试为其设置动画时设置按钮的框架。