0

私は2つのラベルとその中にボタンを持っUIViewControllerています:UIScrollView

UIView
  -UIScrollView
    -UILabel
    -UILabel
    -UIButton

ビューごとにサイズが異なる可能性があるため、動的に前後に配置UILabelsする必要があります。大丈夫ですが、私の2番目の途中に入りますこれ が私のコードです:UIButtonUILabelsUIButtonUILabel

self.header.text = event.title;
self.header.numberOfLines = 0;
CGFloat headerHeight = [event.title sizeWithFont:[UIFont fontWithName:@"Arial" size:20] constrainedToSize:CGSizeMake(280, 100000) lineBreakMode:UILineBreakModeWordWrap].height;
self.header.frame = CGRectMake(19, 20, 280, headerHeight);

CGFloat positionY = 40 + [self.header.text sizeWithFont:[UIFont fontWithName:@"Arial" size:20] constrainedToSize:CGSizeMake(280, 100000) lineBreakMode:UILineBreakModeWordWrap].height;

CGFloat descriptionHeight = [event.descr sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(280, 100000) lineBreakMode:UILineBreakModeWordWrap].height;
self.descr.frame = CGRectMake(19, positionY, 280, descriptionHeight);
self.descr.text = event.descr;
self.descr.numberOfLines = 0; 

positionY =  self.descr.frame.origin.y + self.descr.frame.size.height + 40;

buyButton.frame = CGRectMake(19, positionY, 72, 37);

scrollView.contentInset = UIEdgeInsetsMake(contentInset, 0, 0, 0);
[scrollView setContentSize:CGSizeMake(320, positionY+80)];

UIScrollViewには、IBで設定された柔軟な高さの自動サイズ変更マスクがあります。

外観は次のとおりです。

ここに画像の説明を入力してください

誰かが私が間違っていることを教えてもらえますか?

アップデート:

UIScrollViewの自動サイズ変更マスクを削除すると、すべて正常に機能します

4

2 に答える 2

2

スクロール ビューの自動サイズ変更マスクを変更することで問題が解決する場合は、ボタンとラベルの自動サイズ変更マスクをチェックして、それらがすべて一致していることを確認してください。

于 2012-11-02T18:40:43.033 に答える
-2

UISCROLLVIEWサブビューのカウントを使用し、X軸を次のように配置します

  CGRECTMAKE((count-count)*100)+x,y,width,height;
于 2012-11-02T18:32:16.773 に答える