3

いくつかのサブビューを含むUIViewのディープコピーを作成する必要があります。これを行う方法を理解するのを手伝ってください。私はグーグルとSOでいくつかの検索をしましたが、私が望むことをするものは何も見つかりませんでした。

理由を知りたい人への説明:もちろん、内容が繰り返される無限にスクロールするUIScrollViewがあります。コンテンツの各「セット」(たとえば、AZというラベルの付いた26個のUIButton)は、1つのビュー内に含まれています。これは、スクロールビュー内の画面に複数のインスタンスを表示できるように、ディープコピーを作成するために必要なビューです。

ボタンを押すと、UIScrollViewサブクラスがアクセスできないクラスの関数が呼び出されるため、ボタンを含むビューの構造を単純に再作成することはできません。また、単純にディープコピーを作成できるのに、すべてのサブビューを再作成してコンテナビューに配置するロジックを実行するのは無駄に思えるので、それらを再作成することも望んでいません。

誰か助けてもらえますか?

4

1 に答える 1

3

(リクエストに応じて私のコメントから投稿)

ああ、そうだね。実行時にさらにコピーを作成して非表示にするのが唯一の方法だと思います。そうしないと、すべてのサブビューを繰り返し処理し、すべてのフレーム、色などを再作成する必要があります...しかし、あなたが言うように、ボタンターゲットなどのコピーで問題が発生する可能性があります-しかし、ここでそれを達成するのに役立つ何かがあるかもしれません:

UIButtonのターゲット、アクション、およびコントロールのイベントを取得するにはどうすればよいですか?

于 2012-05-09T13:24:30.337 に答える