2013-10-18 12 views
7

私はストーリーボードを初めて使用しています。私はInterface Builderを前にやっていて、手作業でUIを配置していました。私はこの問題を調査し、他の関連記事にある解決策を試してみましたが、無駄です。UIScrollViewはスクロールしません(ストーリーボード)

私はストーリーボードにUIScrollViewが追加されたビューコントローラを持っています。 ScrollViewコンセントが接続され、プロパティが合成されました。スクロール有効がチェックされます。バウンスがチェックされます。それでもスクロールが起こるという兆候はありませんでした。バウンスを垂直にチェックすると、少なくともスクロール可能なコンテンツを見ることができましたが、リリース後にバウンスします。私が見つけたフレームサイズは320と521に設定されていました。私はさまざまな高さで実験しましたが、何も助けませんでした。 (古いものや新しい電話のサイズに対応するストーリーボードのサイズはどうすればいいですか?) viewDidLoadで

、私は

[scrollView setContentSize:CGSizeMake(320, 1000)]; 

を追加したログステートメントは、その後、この値が受け入れられたことを確認します。しかし、それはどちらも役に立たなかった。

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 808)]; 
} 

をこれは、コントローラがロードされたときにプログラムをクラッシュの効果があった:1つのポストで

誰かが追加提案しました。

ご協力いただければ幸いです!

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

+0

多分あなたはスクロールをカバーし、それの代わりにタッチを取っている別のビューを持っていますか? –

+0

あなたのView ControllerをUIScrollViewDelegateのデリゲートにします。これは、あなたのscrollViewが触れているかどうかをテストできるメソッドがたくさんあります。ここのドキュメントを確認してくださいhttps://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html – Priyatham51

+0

こんにちはGrzegorzさん、スクロールビューの上にラベルとテキストフィールドだけがあります、 私の知る限り。 –

答えて

15

2つのことが必要であることが判明:

1)480

2にscrollviewの高さを設定)scrollview内で一番下のフィールドに制約を追加します。制約は、Pin >> Bottom Space to Superviewでした。

+3

2)はStoryBoardで重要です! – Sars

+1

私はUIScrollViewに正しい制約を追加することでこれを解決しました。 –

+0

大変ありがとうございました。それは多くの時間を節約しました..... – susant

6

ただ、次のメソッドを追加:これは私のために完璧に働いている

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 1700)]; 
} 

を。

+0

それは問題です:(void)viewDidLayoutSubviews。人々(私を含む)は、(void)viewDidLoadまたは別の場所で間違った場所に "self.scrollView setContentSize"を書きます。繰り返し:質問、場所(void)、viewDidLayoutSubviewsです。 – Markus

関連する問題