我正在使用ECSlidingViewController。当我加载我的视图时,一切都显示完美。当我在加载视图后第一次滑出菜单时,我视图中的两个表会改变它们的高度。由于某种原因,顶部表格得到一个额外的(空白)行,而底部表格变小了。
据我所知,当我将菜单滑出时,MenuViewController.m或加载主视图的DoubleTable.m中的代码都没有运行。
我要么阻止调整大小,要么在不需要的调整大小生效后我需要能够纠正它。
这是我在viewDidLoad:
下附加菜单的代码self.view.layer.shadowOpacity = 0.75f;
self.view.layer.shadowRadius = 10.0f;
self.view.layer.shadowColor = [UIColor blackColor].CGColor;
if(![self.slidingViewController.underLeftViewController isKindOfClass:[MenuViewController class]]) {
self.slidingViewController.underLeftViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Menu"];
}
[self.view addGestureRecognizer:self.slidingViewController.panGesture];
可能有助于发现问题的一些信息:
以下是我在DoubleTable.m中调整表格的方法:
-(void)viewDidAppear:(BOOL)animated{
CGRect frame = table1.frame;
CGRect Rect= [[UIScreen mainScreen] bounds];
frame.size.height = table1.contentSize.height;
table1.frame = frame;
int table2Height = Rect.size.height - 150 - table1.frame.size.height;
table2.frame = CGRectMake(table2.frame.origin.x, table1.frame.origin.y + 30 + table1.frame.size.height, table2.frame.size.width, table2Height);
}
如果有任何人认为我应该发布的代码,请随时提出。
答案 0 :(得分:0)
您可能需要在viewDidAppear之外进行布局。也许在layoutSubviews中?如果在故事板中有自动布局,那么它将为您添加约束,这会导致它在布局发生时快照。您也可以尝试关闭此功能,但您必须确保没有任何限制或重新开启。