我有一个 UIScrollView,其中有一个 UIImageView 和一个 UILabel,它们都是 sizeToFit。如何在 UIImageView 和 UILabel 的高度的基础上设置 UIScrollView 自动调整大小的高度?
问问题
305 次
4 回答
0
在 的每个子视图中循环UIScrollView
,并获取每个项目的高度,然后将其设置为ScrollView
,如:
int height = 0;
for(UIView *subview in [yourScrollView subviews]) {
height += subview.frame.size.height;
}
yourScrollView.contentSize = CGRectMake(yourScrollView.frame.origin.x, yourScrollView.frame.origin.y, yourScrollView.frame.size.width, height);
我不确定这是否可行,但这是一个解决方案。
希望这有帮助。
于 2012-05-29T23:11:15.817 回答
0
您可以使用以下代码找到滚动视图高度
float height = 0.0;
for(UIView *subview in [yourScrollView subviews]) {
if(height < (subview.frame.origin.y + subview.frame.size.height))
height = subview.frame.origin.y + subview.frame.size.height;
}
yourScrollView.contentSize = CGRectMake(yourScrollView.frame.origin.x, yourScrollView.frame.origin.y, yourScrollView.frame.size.width, height);
希望对你有帮助!
于 2012-06-11T15:15:06.790 回答
0
yourLabel.frame = CGRectMake(0, 200, yourImageView.height, yourLabel.frame.size.height);
float heightOfScrollView = yourLabel.frame.origin.y + yourLabel.frame.size.height + 10;
scrView.contentSize = CGSizeMake(320, heightOfScrollView);
希望这对你有帮助....
于 2012-06-11T17:55:30.463 回答
0
您无法在界面生成器中设置此类开关。您必须为您的 UITableView 实现以下委托方法:
– tableView:heightForRowAtIndexPath:
该方法的文档可以在这里找到:
在此方法中,您将必须访问相应行包含的元素的框架。在您的情况下, UILabel 和 UIImageView 并从它们的框架计算它们的组合高度。
希望这可以帮助。
于 2012-05-29T23:02:08.263 回答