4

私の問題は、ストーリーボードのスクロールビュー内に複数のアイテムを表示したいときに、ビューコントローラーの画面サイズのためにスクロールしてアイテムを追加できないことです。どうすればこれを回避できますか?

Xcode バージョン: 4.6 自動レイアウト: 有効

これが私がやりたいことです:

例

編集:この問題の回避策を見つけました。高さを最小限に抑えて項目を追加し、コードでサイズを変更するだけです。

4

4 に答える 4

3

最愛のステップを試してみてください

ViewController サイズのサイズを変更する

ViewController のビューのサイズを変更する

ボタンを追加

ビューのボタンのサイズ変更(高さ= 568)とViewcontroller> Simulated Metrics> Size> inferredを追加した後

于 2013-08-13T12:50:24.333 に答える
2

やり方がある。難しいように見えるかもしれませんが、実際には非常に簡単です。これは、ストーリーボードと nib ファイルを使用したハイブリッド ソリューションです。ストーリーボードではなく、nib ファイル内にビューを作成する必要があります。

1)たとえば、「MyViewController」という名前のView Controllerを作成します。

2)「MyViewController」という名前のnibファイルを作成します(このトリックが機能するには、viewcontrollerとnibファイルの名前が一致する必要があります)。

3) 作成した nib ファイルに移動し、オブジェクト ライブラリからスクロール ビューをドラッグします。

4) サイド メニューを見て、「ファイルの所有者」アイコン (空の立方体) を検索し、ID インスペクターの下で、ファイルの所有者を作成したビュー コントローラー「MyViewController」に変更します。

5) ファイル所有者を右クリックするとメニューがポップアップし、オブジェクト ライブラリからドラッグしたスクロール ビューへのビュー接続からドラッグを制御します。

6) ドラッグしたばかりのスクロール ビューをクリックし、属性インスペクタに移動します。[Simulated Metrics] の下で、[Size] を [Retina 4 Full Screen] から [Freedom] に変更します。これで、スクロール ビューの下端を下にドラッグして、すべてのサブビューに十分なスペースを空けることができます。誤って幅を広げないようにしてください。

7) 絵コンテに戻ります。

8) ビュー コントローラが作成されていない場合は、オブジェクト ライブラリからドラッグします。そのクラスを「MyViewController」に変更します。

9) ここでトリックが発生します。バックグラウンドビューを含む、そのView Controllerからすべてのビューを削除してください。これを正しく行うと、インターフェイス ビルダーのグリッド背景が表示されます。これにより、ストーリーボードは、View Controller と同じ名前の nib を探すようになります。

10) 走って笑ってください (スクロール ビューにいくつかのサブビューを追加していることを確認してください。これらは単一の画面の境界から外れているため、それらを表示するにはスクロールする必要があります。そうしないと、contentSize が正しく設定されず、スクロールする) :)

于 2013-05-22T12:27:47.847 に答える
1

scrollview オブジェクトを作成し、 viewDidLoad に設定します。

self.scrollView.contentSize = CGSizeMake(320, 960);

好きな高さを使用してください: 960

于 2013-08-13T11:57:59.990 に答える
0

IBでそれを行うのは非常に実用的な方法だとは思いません。より良いアプローチは、コードで行うことです。

于 2013-05-22T09:29:43.107 に答える