0

私はしばらくの間クロスワードアプリに取り組んできましたが、この問題は私が試したものを何も返さないままです。

実際のゲームはUIScrollViewで実行されます。これは、プレーヤーがズーム、パンなどを実行できる必要があるためです。

UIScrollviewにUIViewを追加しました。最初に、複数のUIImageViewとUILabelをUIViewに追加しようとしましたが、スクロールのパフォーマンスが非常に悪くなりました。

ここで、3つのサブクラス化されたUIViewを作成しようとしました。ここで、それぞれにカスタムのdrawRectメソッドを記述しました。再描画する必要があるのは2つだけなので、3つのUIVIewが必要ですが、同時には必要ありません。3つ目は、一定の手がかり番号が含まれています。

私のUIScrollView階層は次のようになります。

UIScrollView
   UIView
      UIImageView (show the game board image)
      UIView (shows the marked row/column)
      UIView (shows the text the user writes)
      UIView (shows the clue numbers)

問題は、1つのUIViewにUIImageView+3つのUIViewがあることだと思います。この階層を作成しようとしても遅れはありませんが、ズーム、パン、スクロールなどはできません。

UIScrollView
   UIImageView (show the game board image)
   UIView (shows the marked row/column)
   UIView (shows the text the user writes)
   UIView (shows the clue numbers)

私を正しい方向に導いてみてください。3つのUIVIewのコードはかなり長いので、あまり変更する必要がない場合はありがたいです。

前もって感謝します :)

編集

スクリーンショット: http: //crosswords-plus.com/puzzles/screen.png

4

1 に答える 1

0

まず、UIScrollViewを縮小し、手がかりを含むUIViewをそこから引き出すことをお勧めします。パン/ズームする必要がないように思われるので、UIScrollView内に含めることでオーバーヘッドを追加するだけです。

第二に、実装を見ずに多くの答えを出すのは難しいですが、UIImageView / UIView / UIView階層を1つのサブクラスに変えて、空の、黒く塗りつぶされた、または塗りつぶされた正方形と行/列を描画することは可能だと思います必要に応じて番号を付けます。そうすれば、UIScrollViewにはUIViewが1つしかないので、これらすべてがおそらくはるかに簡単になります。

それは役に立ちましたか?背景にUIImageViewを使用している理由はありますか?ユーザーが入力したテキストから行/列の番号を分離している理由はありますか?

于 2012-04-30T18:21:37.010 に答える