3

その中に他のカスタム描画された uiview を含む uiview があります。ユーザーがこの親ビューをクリックすると、アニメーションで新しく定義されたフレームに展開されるようになりました。アニメーション ブロックを使用して、ある程度の成功を収めました。問題は、展開されたビューが展開されていない uiview のスケーリングされたバージョンにすぎないため、少しピクセル化されていることです。アニメーション ブロックの後に子ビューを呼び出すことsetneedsdisplay()で、ビューを展開した結果が鮮明になります (つまり、ピクセル化されません)。しかし、トランジションではまだピクセル化されています。

誰かがこれを行うためのより良い方法を提案できますか?

4

1 に答える 1

0

これは古い質問ですが、とにかく試してみます...

アニメーション ブロックの後に子ビュー setneedsdisplay() を呼び出すと、ビューを拡大した結果がシャープになります (つまり、ピクセル化されません)...誰かがこれを行うためのより良い方法を提案できますか?

Xcode 4.2 でこれを行う 1 つの方法は、ビューのより大きなバージョンの画像を含むイメージ ビューを挿入することです。画像コンテキストでビューをレンダリングすることで、その画像を作成できます。もちろん、このアプローチは、アニメーションが単純にスケーリングしてビューを拡大する場合に最適に機能します。アニメーション中にサブビューを移動している場合、静止画像は明らかに役に立ちません。

Xcode 4.2 は大部分が遠い記憶であり、デバイスの処理能力がはるかに高いため、自動レイアウト制約を使用して、拡張中にサブビューのサイズと位置を管理することで、かなり良い結果が得られるはずです。

于 2015-11-28T07:10:27.967 に答える