我有一個消息屏幕我正在創建,我差不多完成了它。我用nib文件和約束構建了大部分視圖。然而,我有一個小錯誤,在這裏我可以直觀地看到一些由於需要在涉及約束的動畫塊中調用[self.view layoutIfNeeded]而解除鍵盤關閉的單元。這裏的問題是:動畫約束導致子視圖佈局在屏幕上可見
- (void)keyboardWillHide:(NSNotification *)notification
{
NSNumber *duration = [[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSNumber *curve = [[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey];
[UIView animateWithDuration:duration.doubleValue delay:0 options:curve.integerValue animations:^{
_chatInputViewBottomSpaceConstraint.constant = 0;
// adding this line causes the bug but is required for the animation.
[self.view layoutIfNeeded];
} completion:0];
}
有什麼辦法,如果需要對視,因爲這也使我的收藏以自身鋪陳這使得細胞在視覺佈局在屏幕周圍,有時直接調用佈局。
我試過了所有我能想到的東西,但它找不到解決方案。我已經嘗試調用[cell setNeedLayout];在每一個可能的地方,都沒有任何反應
當細胞自行排列時,你會看到什麼?你的UITableViewCell中有layoutSubviews覆蓋嗎? – dfmuir 2014-10-05 03:03:35
我的單元格看起來像iMessage(聊天泡泡)的精確副本,我可以直觀地看到鍵盤解散後回到屏幕上的單元格中生長的聊天泡泡。它不會發生在正常滾動時,只有在鍵盤關閉後視圖放下時纔會發生....不,我沒有在單元格的佈局子視圖中使用任何代碼。 – DBoyer 2014-10-05 03:08:09
我認爲它的實際動畫增長的泡沫......很奇怪。 – DBoyer 2014-10-05 03:14:10