3

アプリケーションで 3 つの UIView を上下に配置しています。UIView のデータは API 応答によって埋められます。対応する API 応答が nil のときに UIView を非表示にしたい。API の応答を確認していますが、nil の場合はビューを非表示にする [myview setHidden:YES] を設定していますが、ここに問題があります。

たとえば、2 番目のビューにデータがない場合、それは非表示になりますが、ビューの座標はまだ占有されており、1 番目と 3 番目のビューの間に大きな空白ができます。

この問題を解決するために、UIView アニメーション メソッドを使用して、2 番目のビュー データが nil の場合に 3 番目のビューを 2 番目のビューの座標空間に移動しました。

これは私にとってはうまくいきますが、この種のアプローチでは、4 つ目または 5 つ目のビューを追加するとコードが複雑になります。私のアプローチよりも優れた解決策があると確信しており、私のアプローチよりも優れたアプローチに私を導くことができれば役に立ちます。

ありがとうございました

提供されたソリューションの中で、私のアプリに適した Jonah.at.GoDaddy によって提供されたソリューションを使用しました。素晴らしい情報を提供してくれた他の人にも感謝します。

4

3 に答える 3

0

API 応答の数に応じて、セルが 0 ~ 3 の UITableView を使用しないのはなぜですか?

于 2013-09-09T20:15:54.013 に答える
0


1. ビューを配置するために使用する各場所の座標を定義し、それらの座標を配列 A に保存します。
2. ビューをスーパービューに追加/スーパービューから削除するたびに、追加/削除します。 3. 参照を
追加/削除した後、ループを実行し、配列 A の座標を配列 B のビューのフレームに割り当てます。配列 ID を介してそれらを割り当てます。
4. そのループを UIView アニメーション ブロックに入れます。

これで、任意の数のビューを使用して、必要な場所でそれらを削除/追加できます。

于 2013-09-09T20:51:10.997 に答える