0

私はカスタムUITableViewCell「customCell」を構築しました。その中にはUIScrollView「scrollView」とscrollViewだけがあります:2つのサブビューがあります

customCell クラスで、このようなコードを配置して、scrollView の contentSize を設定します

(void)layoutSubviews{
    self.scrollView.contentSize = CGSizeMake(480, 120);
}

コードが呼び出され、contentSize が正しく機能しますが、 self.scrollView の contentSize をデフォルト値に再変更するものがあります。これは、制約のためだと思います。

これらのメソッドで contentSize を変更しようとしましたが、どれも問題を解決しませんでした

-(void)awakeFromNib
-(void)buildCell // this method get called from tableView method - tableView:cellForRowAtIndexPath:

scrollViewのcontentSizeをどこに設定する必要がありますか???

-- 更新:

それは奇妙な動作です:テーブルビューを下にスクロールすると、メソッドlayoutSubviewsが再度呼び出されますが、今回は contentSize が新しい値を保持し、オーバーライドまたは変更されません

-- 更新 2:

ストーリーボードファイルからautoLayoutを削除すると、すべて正常に機能しました...... :s
\autoLayoutを削除せずに問題を解決する方法

4

2 に答える 2

0

最善の解決策:

  • ストーリーボードで、スクロールビューのすべてのサブビューを削除しました
  • 私はすべてのビューを作成し、-(void)awakeFromNibそれらをプログラムでscrollViewに追加しました

そして今、すべてが完璧に機能しています

于 2013-08-17T13:11:40.007 に答える