簡體   English   中英

ios7 animateWithDuration與tableview問題

[英]ios7 animateWithDuration with tableview issue

我有一種方法可以同時對搜索欄和表格視圖進行動畫處理( viewFilterResults只是視圖之一):

            CGFloat heightSearchBar = CGRectGetHeight(_searchBar.frame);
            [UIView animateWithDuration:animationDuration delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
                CGRect frameSearch = _searchBar.frame;
                frameSearch.origin.y = CGRectGetMaxY(self.viewFilterResults.frame);
                _searchBar.frame = frameSearch;

                CGRect frameTable = _plantsListTableView.frame;
                frameTable.origin.y = CGRectGetMaxY(self.viewFilterResults.frame) + heightSearchBar;
                frameTable.size.height = CGRectGetHeight(self.view.frame) - CGRectGetMinY(frameTable);
                _plantsListTableView.frame = frameTable;
            } completion:^(BOOL finished) {
                if (completionBlock) {
                    completionBlock();
                }
            }];

在iOS 6和5上,一切正常,但在iOS 7上,搜索欄的動畫還可以,但表格視圖會移動到沒有動畫的適當位置。 可能無法在iOS 7上對表格視圖進行動畫處理嗎?

更新:

我嘗試為表視圖的內容插圖設置動畫,但是結果是相同的。 所以那沒有幫助。

我假設這是用於移動UISearchBar並根據搜索是否可見來調整表格的框架?

如果是這樣,請將表格視圖保持在最大框架下(即使它位於滾動條的后面),而不是框架,只需調整其contentInset即可將內容下推。

自動布局/約束可能會導致問題。

我在iOS7中遇到了類似的問題,當時我同時為2個單獨的視圖設置了動畫。 第一視圖的約束奇怪地導致第二視圖的動畫不完整。 最奇怪的部分是,即使有限制,iOS6對此也沒有問題。

如果發現約束確實是問題所在,那么這里的“自動布局與視圖變換”答案將提供一些有用的信息: 使用自動版式時,如何調整CALayer的錨點?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM