1

私は6x8グリッドにある48個のボタンのようなゲームを持っています。ゲームはレイアウトのチェスゲームのようなものなので、これらすべてのボタンを用意することが重要です。レイアウトが非常に大きいため、ユーザーがゲームを完全にプレイするために上下にスクロールできるように、垂直スクロールビューが必要になる可能性があるチェスゲームを想像できるとしたら。そして、私がスクロールするとき、私は明らかに上部のナビゲーションボタンもスクロールしたくありません(たとえばメニューボタン)。つまり、ビューコントローラを作成し、UIViewを追加してから、UIView内にスクロールビューを追加し、そのスクロールビュー内に、最初にチェスのようなゲームの48個のボタンをすべて追加し、次にbgを追加しました。そのゲームでは、ユーザーが垂直方向にスクロールすると、bgだけでなく、すべてのボタンもスクロールします。スクロールビューを機能させるために、すべてのコードとすべてを実行しました。


さて、これを行った後、48個のボタンの1つを押そうとしたときに遅れがあったことを除いて、スクロールは正常に機能しました。これは、すべてのボタンをスクロールビュー内に配置する前に経験したことのないラグでした。これまで私のボタンは素晴らしく機能していましたが、スクロールビューになっているため、ボタンは少し遅れています。ボタンに触れたときのように、ボタンが瞬時に変わるのではなく、約5分の1秒かかります。その小さな遅れですが、間違いなく目立ちます。それでも、ナビゲーションボタン(スクロールビューに埋め込まれていない)をタッチしようとしても、ラグはまったくありません。

ボタンをスクロールビューに配置して何か問題がありましたか?もしそうなら、ナビゲーションボタンをスクロールせずにボタンをスクロールさせるために他に何ができますか?

どんな助けでもありがたいです!

編集:それが違いを生むなら、私はシミュレーターでこれを実行しています

4

1 に答える 1

2

これはレスポンダーと関係があり、UIButtonとUIScrollViewの両方がタッチで何をすべきかを知る必要があるという事実だと思います。

UIButtonに指を置くと、UIScrollViewにもこのタッチが表示されます。UIScrollViewは、このタッチがドラッグに変わるかどうかを知りたいので、指を動かしたかどうかを確認するために待機します。おそらく、これはUIButtonの起動をブロックしています。

于 2012-07-16T17:57:40.397 に答える