这段代码每次运行时都会为我的视图设置动画,但第一次除外。当键盘显示或隐藏时,一个 UIView 被重新定位:
[UIView
animateWithDuration:0.26
animations:^{
[self setupActiveOverlayViewFrame];
}completion:nil];
-(void)setupActiveOverlayViewFrame {
float optimalOverlayHeight = [self.activePanel optimalHeight];
float realOverlayHeight = MIN(optimalOverlayHeight, self.displayView.frame.size.height);
if (self.activePanel.frame.size.height != realOverlayHeight) {
self.activePanel.frame = CGRectMake(self.activePanel.frame.origin.x, 0, self.activePanel.frame.size.width, realOverlayHeight);
}
self.activePanel.center = [self correctCenterForOverlay];
}
我发布的方法只是为了表明它所做的只是重新调整大小和重新定位它。
第一次运行此代码时,它没有动画。它只是跳入位置。之后的每次,它都会正确地动画。