我有一个视图控制器,其中包含UITableView
和UIPageViewController
。 UITableView's
高度首先设置为0。单击按钮后,桌面视图应向下滑动(即,增加高度),并且应按下PageViewController
。我这样做了......
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;
}];
预期行为:表格视图和pageviewcontroller
应同时向下滑动。
观察到的行为:只有pageviewcontroller
向下滑动。表格视图的框架没有变化。但是,如果再次执行此方法,则Tableview会向下滑动。
任何人都可以帮我吗?如果您需要更多信息/代码,请与我们联系。
答案 0 :(得分: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;
}];