1

たくさんのサブビューが埋め込まれた長いuiscrollviewを作成する必要があります。ただし、ストーリーボードでは、uiscrollviewをコントローラーに追加すると、作業する領域が小さすぎます。最初にuiscrollviewで作業し、後でストーリーボードを使用してコントローラーに追加する方法はありますか?

このチュートリアルページの#2のように(ストーリーボードバージョンではありません):http ://agilewarrior.wordpress.com/2012/05/18/uiscrollview-examples/

バージョンは4.5.2です。

ありがとうございました!

4

1 に答える 1

4

ストーリーボードでは、コントロールをシーンの外にドラッグすることはできませんが、シーン自体のシミュレートされたメトリックを変更することで、おそらく目的を達成できます。したがって、View Controller自体を選択し、[属性インスペクター]をクリックして、ここで強調表示されているように、シミュレートされたサイズメトリックを自由形式に変更します。

ここに画像の説明を入力してください

次に、そのシーンのメインビューをクリックして、そのための「サイズインスペクター」を開き、サイズを変更して、機能するのに十分な大きさにします。

ここに画像の説明を入力してください

ストーリーボードは奇妙に見えますが、スクロールビューを追加/変更して、必要なものをすべて表示するのに十分な大きさにすることができます。アプリを実行すると(自動レイアウトの制約または非自動レイアウトの自動サイズ変更マスクが適切に設定されていると仮定して)、正常に機能します。

ここに画像の説明を入力してください

不思議なことに、自動レイアウトを使用しない場合は、スクロールビューをプログラムで変更してcontentSize、すべてのコントロールに対して十分な大きさであることを確認する必要があることがわかりました。

- (void)adjustContentSizeForScrollView:(UIScrollView *)scrollView
{
    CGFloat height = 0.0;

    for (UIView *subview in scrollView.subviews)
    {
        CGFloat viewBottom = subview.frame.origin.y + subview.frame.size.height;
        if (viewBottom > height)
            height = viewBottom;
    }

    scrollView.contentSize = CGSizeMake(scrollView.contentSize.width, height);
}
于 2013-01-14T20:08:10.627 に答える