gpt4 book ai didi

uiscrollview - 当我滚动 ScrollView 时 TableView 改变框架

转载 作者:行者123 更新时间:2023-12-01 06:33:28 25 4
gpt4 key购买 nike

我有一个带有 ScrollView 的 View 。

我有两个 UIView 和两个 TableView。

我希望 View 可以展开和折叠。

我有两个 View ,因为我无法隐藏 UIView 的一部分。

我所做的是最初通过 XIB 隐藏第二个 View ,然后单击 FirstView 上的按钮,取消隐藏我放置在 FirstView 正下方的第二个 View

现在,因为我有两个 TableView,它们应该显示在第一个 View 下方,并且应该更改它们的框架以显示在 subview (SecondView)下方,当 subview (SecondView)未隐藏时。

我将第一个表放在第一个 View 下方和隐藏 View (SecondView) 上方,将第二个表放在第一个表下方。

因此,当我在第一个 View 上单击一个按钮时,我会隐藏该按钮并取消隐藏第二个 View 并更改 tableVC 框架,使其显示在第二个 View 下方。

类似地,当我在第二个 View 上单击一个按钮时,我会隐藏该按钮并隐藏第二个 View 并取消隐藏第一个 View 上的按钮并更改 tableVC 框架,使其出现在第一个 View 下方,即初始位置。

这些屏幕截图可能会有用:

enter image description here

灰色部分是第一个表,粉红色部分是第二个表。

enter image description here

绿色部分是隐藏的扩展 View ,tableVC(灰色)位于其顶部。

现在一切正常,当我遇到滚动时,表格 View 随机更改其框架。当我展开 firstView 并滚动表格时,它的框架会发生变化并向上移动。同样,当我折叠并滚动时,也会发生同样的事情。

这是屏幕截图(我滚动时的图像)。

enter image description here

这是我的代码:

-(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);

}
}

可能是一些滚动问题。

最佳答案

它因为自动布局和约束。有两种解决方案,

1) 移除 ScrollView 的自动布局属性

2) 如果你想要自动布局,那么使用适当的约束

关于uiscrollview - 当我滚动 ScrollView 时 TableView 改变框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17873812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com