web-dev-qa-db-ja.com

自動レイアウトを使用してXcode 11(iOS 12、iOS 13)で「スクロール可能なコンテンツサイズのあいまいさ」を修正する方法

自動レイアウトを使用すると、Xcode 11ベータ版のビューコントローラーでシンプルなUIScrollViewを設定できません。スクロールビューを端に拘束し、スクロールビューの幅と高さを、スクロールビューを含むビュー全体の幅と高さに等しく設定する必要があることを知っています。ただし、同じ幅と高さを設定しようとするとオプションが表示されません。

スクロールビューからメインビュー全体に右クリックしてドラッグすると、次のオプションが表示されます。

  • 安全領域へのリーディングスペース
  • 安全領域までの上部スペース
  • 安全領域への後続スペース
  • 安全領域への下部スペース
  • 安全領域の水平方向中央
  • 安全領域の垂直方向の中央に配置

他のビデオでは、私にはないように見える「等しい幅」と「等しい高さ」オプションがあります。

私は何か間違ったことをしていますか、またはAppleはXcode 11でのスクロールビューの動作方法を変更しましたか?

39
Pranav Ramesh

プロパティのコンテンツレイアウトガイドを無効にする

Disabling the content layout guides in properties

私は同じ問題を抱えていました、そしてオプションを無効にすることによってそれはなくなりました。

それが役に立てば幸い! :)

101

私もその問題を積み重ねました。私を助ける良いガイドを見つけました:

https://useyourloaf.com/blog/scroll-view-layouts-with-interface-builder/

基本的に必要なのは9つの制約です(垂直方向にのみスクロールする場合)。

1-4:ScrollViewからSuperview(上、下、リーディング、トレーリング)。安全領域ではなく、必ず親ビューに接続してください。

5-8:コンテンツビューからコンテンツレイアウトガイド(上、下、リーディング、トレーリング)。

  1. コンテンツビューの幅は、フレームレイアウトガイドの幅と同じです。
9
Vadim

この問題も発生しました(Version 11.0 beta 3 (11M362v))。この問題を解決するには、まずxcode10でレイアウトを設定し、次にxcode11で実行します。公式の指示はまだ見つかりません。これがxcode11の問題であることを証明していますが、今のところ、これはxcode11 bateの問題だと思います。

2
zheng

Xcode-11でこのスクロールの問題に長い時間を費やした後。この問題に関する結論は、新しい制約を追加するときにスクロールオプションを選択する必要があるということです。

問題を解決するには、次のスクリーンショットを参照してください。

enter image description here

これらの言及された解決策は私のために働いた。

1
Akshar Darji

さて、私はこの問題に直面していましたが、解決策を見つけました。問題はSafe Areaです。 enter image description here

  • UIviewにスクロールビューを埋め込みます。
  • 上、下、右、左に0を与えます。
  • このビューでスクロールビューの制約を与える。
  • このビューにコンテンツビューと同じ高さと幅を追加します。

親ビューは自動的にセーフエリアを提供しています。必要なのは、スクロールビューをUIviewに埋め込み、このビューにコンテンツビューの高さと幅を等しくすることだけです。

0
M. Mubeen Asif

私にとって、最初はContent Layout Guidesは、ScrollViewではデフォルトで無効状態になっています。ですから、Content Layout Guidesその後、エラーは自動的に消えました。

0
Vinoth Vino

Xcode 11 +、Swift 5。

私は問題を解決しました videocode を準備しました

0
Ahmed Abdallah