我的 iOS 屏幕底部有一个大约 50 像素高的页脚 UIView。在此视图的加载阶段,我添加了一个子视图(可以说是页脚子视图),并以编程方式将约束添加到常数为 0 的所有边缘(基本上覆盖整个页脚视图)。
我注册了keyboardWillShow通知,并在其中将约束更改为我的页脚视图(不要与上一段中提到的约束混淆),这只是控制外部页脚视图位置的一个约束),以便它显示在键盘的正上方。理论上改变这个约束应该改变所有相关的约束,特别是我的页脚子视图的外边缘约束。
当键盘显示时,页脚视图与显示键盘的动画一起很好地动画,但是在页脚视图中我的页脚子视图的约束更新有轻微延迟,这会在我的页脚为空白时产生难看的视觉效果一瞬间。
这是我的keyboardWillShowNotifcation的代码
- (void)keyboardWillShow:(NSNotification *)notification
{
_keyboardIsVisible = YES;
CGRect keyboardSize;
[[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardSize];
[UIView animateWithDuration:0.35f
delay:0
options:UIViewAnimationCurveLinear | UIViewAnimationOptionBeginFromCurrentState
animations:^{
[_footerTopSpaceConstraint setConstant:-1 * CGRectGetHeight(keyboardSize)];
[self.view layoutIfNeeded];
}
completion:nil];
}
有关如何“更快”更新页脚子视图约束的任何提示,以便它们与其父级页脚视图一起很好地动画?