2012-02-25 12 views
26

私はUIScrollViewです。 scrollview.contentSizeは、UIScrollViewのすべてのサブビューの高さに設定されています。 contentSizeの高さがUIScrollViewの高さより大きい場合、ビューをドラッグすると完全にスクロールします。 contentSizeの高さがUIScrollViewの高さを下回ると、ビューをドラッグしても何も起こりません。UIScrollViewを常にスクロール可能にする方法はありますか?

実際にスクロールするものがないので、標準的な動作だと思います。しかし、私は、UIScrollViewはとにかく少し動いていると思います。これを行うにはあまりハック方法はあり

CGSize scrollSize = self.frame.size; 
int defaultHeight = self.frame.size.height + 5; 
int contentHeight = self.webView.frame.origin.y + self.webView.frame.size.height; 
scrollSize.height = MAX(defaultHeight, contentHeight); 
[self.scrollView setContentSize:scrollSize]; 

可能な解決策をcontentSizeの高さがframe.heightプラス小さなマージン(すなわち5pxの)より決して小さいこと、を確認することです?

+0

あなたはちょうどそれがバウンスしますか? – jrtc27

+0

'scrollEnabled'を手動で' YES'に設定しようとしたとします。 – dasblinkenlight

+0

はい、私はバウンスしたいだけです。そして、 'scrollEnabled = YES'は動作しませんでした。 – dhrm

答えて

71

あなたが望むように聞こえるUIScrollView上の2つのプロパティがあります。

@property(nonatomic) BOOL alwaysBounceVertical; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically 
@property(nonatomic) BOOL alwaysBounceHorizontal; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally 

は単にYESにそれらの一方または両方を設定すると、あなたはバウンス効果を取得します。

また、これは、「バウンス水平」および/または「垂直方向にバウンス」ボックス(複数可)をチェックすることにより、IBで設定することができます。

enter image description here

+4

"Bounce Horizo​​ntally"または "Bounce Vertically"の他に、ソロ "Bounces"チェックボックスをオンにする必要があることに注意してください。 –

関連する問題