2013-10-19 67 views
0

我有一個視圖控制器有一個UITableViewUIPageViewController。首先將UITableView's高度設置爲0。點擊一個按鈕後,桌面視圖應該向下滑動(即,增加高度),並且應該按下該按鈕。我已經做了這樣的...UITableView沒有動畫當兄弟是UIPageViewController

float yPos = 61; 
CGRect fr2 = self.pageController.view.frame;// UIPageViewController 
CGRect fr1 = self.categoriesTable.frame; // UITableView 
if (self.categoriesTable.frame.size.height == 0.0){ 
    fr1.size.height = 44 * self.categories.count + 20; // categories is a datasource 
    yPos = yPos + 44 * self.categories.count + 20; 
}else{ 
    fr1.size.height = 0.0; 
} 
fr2.origin.y = yPos; 
[UIView animateWithDuration:0.3 animations:^{ 
    self.pageController.view.frame = fr2; 
    self.categoriesTable.frame = fr1; 
}]; 

預期的行爲:在的tableview和pageviewcontroller都應該向下滑動的同時。

觀察到的行爲:只有pageviewcontroller下滑。表格視圖的框架沒有變化。但是,如果再次執行此方法,則表格視圖會下滑。

任何人都可以幫助我嗎?讓我知道你是否需要更多信息/代碼。

+0

不,我想動畫兩個。 – mohkhan

+0

mohkhan你想要動畫視圖控制器嗎? – SBM

+0

嘗試重新載入表格中的數據。 – RFG

回答

0

好吧,看起來我修好了。我決定來回翻譯pageviewcontroller以達到相同的效果。以下是工作代碼。

float yPos = 0; 
CGRect fr2 = self.pageController.view.frame; 
CGRect fr1 = self.categoriesTable.frame; 
if (self.categoriesTable.frame.size.height == 0.0){ 
    fr1.size.height = 44 * self.categories.count + 20; 
    yPos = 44 * self.categories.count + 20; 
}else{ 
    fr1.size.height = 0.0; 
} 
fr2.origin.y = yPos; 

[UIView animateWithDuration:0.3 animations:^{ 
    self.pageController.view.layer.affineTransform = CGAffineTransformMakeTranslation(0, yPos); 
    self.categoriesTable.frame = fr1; 
}];