UIImageView と UILabel がある UIScrollView があり、どちらも sizeToFit です。UIImageView と UILabel の高さに基づいて UIScrollView の自動サイズ変更の高さを設定するにはどうすればよいですか?
質問する
305 次
4 に答える
0
InterfaceBuilderで設定できるそのようなスイッチはありません。UITableViewに次のデリゲートメソッドを実装する必要があります。
– tableView:heightForRowAtIndexPath:
メソッドのドキュメントはここにあります:
この方法では、それぞれの行に含まれる要素のフレームにアクセスする必要があります。あなたの場合、UILabelとUIImageViewを使用して、フレームからそれらを組み合わせた高さを計算します。
お役に立てれば。
于 2012-05-29T23:02:08.263 に答える
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
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
次のコードを使用して、スクロールビューの高さを見つけることができます
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 に答える