3

私はUIScrollViewサブビューでいっぱいです、それを作成して最初にそれを埋めるときはすべてうまくいきます。

しかし、表示画面部分の外側に配置された新しいサブビューを追加した場合、または表示画面部分の外側にある既存のサブビューのサイズを変更した場合、後続の0.3秒の長さのスクロールアニメーションがあります(私はそれを見ることができます)新しく追加/サイズ変更された要素と一致するようです。

試み:

  • pagingEnabledは常にNOです。
  • サブビュー操作中にscrollEnabledをNOに設定しても効果はありません。
  • サブビュー操作の後にsetContentOffset:animated:NOを実行しても、アニメーションは妨げられません。
  • すべてのサブビューを含む1つの巨大なサブビューは役に立ちません。

私の現在の回避策は、最初にフレームを表示されている画面部分の内側に収まるように設定するか、別のスーパービュー内でサイズ変更作業を行うことですが、汚れた感じで、すべての状況を処理できるわけではありません...

プログラムでサブビューを操作するときに、この自動スクロールアニメーションを防ぐ方法はありますか?

Xcode 4.3、iOS SDKfor5.1。

4

2 に答える 2

2

私もこの問題を発見し、この解決策を見つけましたhttp://www.iphonedevsdk.com/forum/iphone-sdk-development/94288-disabling-uiscrollview-autoscroll.html

これには、をサブクラス化UIScrollViewし、次のメソッドにコードを入力しないことが含まれます。

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated  {

}

男がリンクで言っているように、私はそれが機能し、今のところ問題がないことを発見しました。それがあなたのために働くことを願っています。

于 2012-06-24T10:05:28.987 に答える
2

サブビューを追加する前にスクロールビューのコンテンツサイズを設定したため、この問題が発生しました。

サブビューを追加した後にスクロールビューのコンテンツサイズが設定されるようにコードを変更するとすぐに、問題は解決しました。

于 2012-10-16T01:36:45.853 に答える