11

多数のオブジェクトが既に追加UIScrollViewされたインターフェイスビルダーで作成されています。に接続し、そのコンテンツ サイズを に設定します。ユーザー操作が有効、マルチタッチ、スクロールが有効で、垂直および水平スクロール インジケーターがすべて に設定されていることを示します。iOS シミュレーターでアプリを起動すると、スクロールしません。この動作の原因は何でしょうか?UITextViewUIImageViewIBOutlet-(void)viewDidLoad1200x2000YES

4

6 に答える 6

22
  1. viewDidLoad はもうすぐです。ビューのレイアウトが完了するまで待つ必要があります。viewDidAppear で contentSize を設定してみてください。

  2. 自動レイアウトを使用していますか?もしそうなら、次の答えをチェックしてください(そして1を忘れてください): UIScrollView doesn't use autolayout Constraint

于 2013-11-04T15:49:56.097 に答える
9

コードを書かずにこの問題を克服する方法を私が知っている最善の方法は、ストーリーボード内ですべてを実行できることです。その方法は次のとおりです。

  1. 自動レイアウトを有効のままにします。
  2. 一般的な UIView を UIScrollView のサブビューにします。2.1) すべての View コンポーネントをこの汎用 UIView 内に配置します。
  3. サブビューと UIScrollView の間に自動レイアウト制約を作成します。最後のサブビューの右および/または下を UIScrollView の右および/または下に固定する必要があります。これは、UIScrollView がコンテンツ サイズを認識する方法です。
于 2013-12-31T21:31:35.737 に答える
4

viewDidLoad確かに早すぎますが、遅すぎるviewDidAppear:animatedことはないかもしれません。を設定する理想的な場所contentOffsetは ですviewDidLayoutSubviews

于 2014-05-26T02:11:06.520 に答える