1

画像を保持するためのUIScrollViewを備えた「画像のギャラリー」UIViewControllerがあります。子UIViewControllerから、ユーザーは画像を削除できます。

したがって、当然、ユーザーがギャラリーUIViewControllerに戻ったときに、新しい状況を反映するようにコンテンツを更新したいと思います。

ただし、UIScrollViewは空に見えます。ユーザーがスクロールを開始したときにのみ、更新されて正しいコンテンツが表示されます。

つまり、UIScrollViewコンテンツをプログラムで更新するにはどうすればよいですか?

注:setNeedDisplayは役に立ちませんでした。

4

2 に答える 2

1

簡単な方法:画像のギャラリーを作成するために何をするにしても、ビューコントローラーのviewWillAppear/viewDidAppearメソッドで行います。しかし、それはあなたのビューコントローラがするための多くの不必要な仕事になるでしょう

デリゲートを作成し、画像を削除するときにそれを呼び出すことをお勧めします。代理人は再び画像のギャラリーを作成します。

于 2012-06-18T18:53:20.543 に答える
0

それはばかげたバグだったことがわかりました。

[scroller setContentOffset:..]の計算を間違えました。UIScrollViewcontentSizeよりも高い値を指定しました。

UIViewController内でscroller[setContentOffset:..]を呼び出すと、どういうわけか、何かがそれを修正し、値をUIScrollViewcontentSizeに設定します。しかし、別のUIViewControllerから呼び出された場合、それは修正されなかったため、「UIScrollViewコンテンツを超えてジャンプ」しました。

于 2012-06-19T21:00:34.537 に答える