gpt4 book ai didi

ios - 在 UIViewController 中展开和折叠 UIView

转载 作者:行者123 更新时间:2023-11-29 13:09:30 24 4
gpt4 key购买 nike

我想在单击按钮时展开 View 并折叠它。并相应地更改位于 View 下方的数据框架。我使用了 ScrollView ,然后添加了要滚动的项目。

enter image description here

enter image description here

我能够添加一个新 View 并在最初将其隐藏,然后在单击 (+) 按钮时取消隐藏该 View ,并隐藏 (+) 按钮。

两个问题

1) 如何管理 View 下方的数据,以便当 View 处于折叠位置时,数据应位于 View 下方?当我展开它时,它应该相应地改变框架。
2)标签“The label is test1”是单个标签。我会在那里展示描述。最初是 4 行,当我们单击 (+) 按钮时,将显示剩余的描述。因此,如果我采用另一个 View ,这是不可能的,因为我需要采用单个标签或 TextView 来显示数据。

-(IBAction)plusButton:(id)sender{

[plusButton setHidden:YES];
[expandedView setHidden:NO];

//[mainView setFrame:CGRectMake(10, 150, 294, 400)];

}

-(IBAction)minusButton:(id)sender{
[plusButton setHidden:NO];
[expandedView setHidden:YES];

}

最佳答案

在我看来像是一个自动调整大小的问题。您需要将标签和文本字段的自动调整大小设置为

UIViewAutoresizingFlexibleHeight 和 UIViewAutoresizingFlexibleTopMargin

我建议您将这些标签和文本字段放在具有相同自动调整属性的“内容” View 中,并将其添加为 subview 。

编辑:(添加示例)

UIView *contentView = [[UIView alloc] initWithFrame:frame]; //contentView's initail frame.
UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:contentView.bounds]; //in this example the label takes the whole frame of the contentView, you can change it to be smaller in height if it suits you purpose.

descriptionLabel.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin;
contentView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin;

点击“+”按钮:

[UIView animateWithDuration:0.2f animations:^{
CGRect rect = contentView.frame;
rect.size.height = 200;
contentView.frame = rect;
}];

点击“-”按钮:

[UIView animateWithDuration:0.2f animations:^{
CGRect rect = contentView.frame;
rect.size.height = 100;
contentView.frame = rect;
}];

关于ios - 在 UIViewController 中展开和折叠 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17738402/

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