0

我有一个 UIScrollView,其中有一个 UIImageView 和一个 UILabel,它们都是 sizeToFit。如何在 UIImageView 和 UILabel 的高度的基础上设置 UIScrollView 自动调整大小的高度?

4

4 回答 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:

该方法的文档可以在这里找到:

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html

在此方法中,您将必须访问相应行包含的元素的框架。在您的情况下, UILabel 和 UIImageView 并从它们的框架计算它们的组合高度。

希望这可以帮助。

于 2012-05-29T23:02:08.263 回答