49
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

InterfaceBuilderで、UIScrollViewにAutoLayoutを設定すると警告される時の対応

Last updated at Posted at 2015-09-01

※ Xcode Version 6.4 時点

InterfaceBuilderにて、UIScrollViewの上に適当なviewを配置して、いつも通りのノリでAutoLayoutを設定すると

Scroll View
Has ambiguous scrollable content width
Scroll View
Has ambiguous scrollable content height

Ambiguous Layout
Scrollable content size is ambiguous for "Scroll View"

といった警告をされることがある。

スクリーンショット 2015-09-01 16.28.49.png

これは恐らくUIScrollViewのcontentSizeを指定できていないことが原因で、以下の対応で回避できた。

まず、UIScrollViewに対しUIViewを配置し、便宜上contentViewとでも名づけておく。
このcontentViewには親のUIScrollViewに対する上下左右の0マージンに加え、サイズを規定するHeight、WidthのConstraintsも設定してやる。対応は以上。

スクリーンショット 2015-09-01 16.31.03.png

設定したHeight、WidthがUIScrollViewのcontentSizeとして扱われるような振る舞いをする。
このサイズを親のUIScrollViewより大きく設定するとスクロールが発生する。
またcontentView上に配置したviewはいつも通りAutoLayoutが設定できる。

スクリーンショット 2015-09-01 16.33.41.png

49
43
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
43

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?