DX・デジタルトランスフォーメーション

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版

ブロックチェーン・暗号技術 | android | iOS | Web | アプリの著作権 | 日本のなりたち | 禅・大乗仏教 | 新しい社会

Has ambiguous scrollable content height (or width) storyboardエラーに対応するには

iOSの開発でXcodeのStoryboardでスクロールビューを設置する場合に、エラーが表示されることがある。

UIViewController#viewDidload で UIScrollView#ContentSizeを設定すれば問題なく動作はするが、赤い警告が出続けるのは嫌なものだ。

エラーの内容は次のようなものだ。

Has ambiguous scrollable content height(or width)とエラー表示される。

UIScrollView に設置した View の大きさが認識できないのだなということは分かるが、ではどのconstraint を追加変更すれば良いのかが分からないし、共有されている情報も極めて少ない。

通常、View をSubViewとして配置する場合には次のようなconstraintを設定すればよい。


root view
    subview
     - top space to superview = 15
     - buttom space to superview = 15
     - leading space to superview = 20
     - trailing space to superview = 20

または


root view
    subview
     - equal hight to superview
     - align center y to superview
     - equal width to superview
     - align center x to superview

しかし、scrollViewのサブビューとして配置する場合には、これだけでは

UIScrollView#contentSizeが設定されないのだ。

UIScrollView#contentSizeを設定するためには、次に示すように top space, bottom space, leading space(またはalign center x), trailing space と equal height, equal width のすべての指定が必要になる

(注意)

trailing space と equal height のどちらか一方を指定すればよいと考えがちだが、scrollViewのサブビューの場合には、両方のconstraint指定をしなければならない。


root view
  scroll view
   - top space to top layout view = 0

   - buttom space to bottom layout view = 0 ←*どちらか必要
   - equal hight to superview ←*どちらか必要

   - equal width to superview
   - align center x to superview

    view
     - top space to superview = 0
     - buttom space to superview = 0 ←これが必要

     - equal hight to superview ←*スクロールしない場合
     - equal hight = 1000 ←*スクロールする場合

     - equal width to superview
     - align center x to superview
     - trailing space to superview = 0 ←これが必要

      button
      textfield etc.

\*はどちらかの指定をすればよい。

2023年12月
     12
3456789
10111213141516
17181920212223
24252627282930
31      
android
iOS
web
アプリの著作権
ブロックチェーン/暗号技術
新しい社会
禅・大乗仏教
日本のなりたち

AppStoreにて無料公開中! ”システム手帳”で検索! - AppStoreへ iPad版 - iPhone版
デジタルトランスフォーメーションで新しい生活を提案!