我有这个特定的问题,简单但非常可怜。自昨天以来一直在尝试这个,所以请给我一些解决方案。
1)我有一个ScrollView视图。
2)我有两个UIView和两个TableView。
3)我想要的是视图应该是可扩展和可折叠的。
4)所以我采取了两种观点,因为我无法隐藏UIView的一部分。
5)我所做的是我最初通过XIB隐藏第二个视图,点击FirstView上的按钮,我取消隐藏第一个放置在FirstView下方的视图
6)现在,因为我有两个TableView应该显示在第一个视图下面,并且应该更改它们的框架以显示在subView(SecondView)下面,而不隐藏subView(SecondView)。
7)我做的是将第一张桌子放在第一张视图下方,隐藏视图(第二视图)上方和第一张桌子下面的第二张桌子上。
8)所以当我点击第一个视图上的按钮时,我隐藏了该按钮并取消隐藏了SecondView并更改了tableVC框架,使其显示在第二个视图下方。
9)同样当我点击第二个视图上的按钮时,我隐藏了该按钮,我隐藏了第二个视图并取消隐藏了第一个视图上的按钮并更改了tableVC框架,使其显示在第一个视图下方,即初始位置。
这些屏幕截图可能很有用。
灰色部分是第一个表格,粉红色部分是第二个表格。
绿色部分是隐藏的扩展视图,而桌面VC(灰色)位于其上方。
现在一切正常,当我遇到滚动时,表视图会随机更改其框架。当我展开firstView并滚动表时,更改其框架并向上移动。同样,当我崩溃和滚动时,同样的事情发生。
这是截图(我滚动时的图像)。
这是我的代码:
-(IBAction)expand:(id)sender{
if (addButton){
[addButton setHidden:YES];
[subView setHidden:NO];
[objTableViewForServices setFrame:CGRectMake(7, 310, 306, 136)];
[objTableViewForManagement setFrame:CGRectMake(7, 480, 306, 136)];
objScrollView.contentSize = CGSizeMake(320,700);
}
}
-(IBAction)collapse:(id)sender{
if (subButton){
[subView setHidden:YES];
[addButton setHidden:NO];
[objTableViewForServices setFrame:CGRectMake(7, 229, 306, 136)];
[objTableViewForManagement setFrame:CGRectMake(7, 396, 306, 136)];
objScrollView.contentSize = CGSizeMake(320,650);
}
}
可能是一些滚动问题。
请尽快帮助我,因为我需要在截止日期前完成。
谢谢。 最诚挚的问候。
答案 0 :(得分:0)
IT因为自动布局&约束。有两种解决方案,
1)删除scrollview的自动布局属性
2)如果你想要自动布局,那么使用适当的约束