0

iPhone の mail.app では、各メールの概要がUITableView. ユーザーが行をスワイプすると、削除ボタンに合わせてラベルのサイズが変更され、テキストが再度折り返されます (スペースが小さい場合、改行が移動する可能性があります)。

テキストが再ラップするようにラベルの幅を更新する方法を見つけました。しかし、Apple は、ラベルのテキストが再配置されるときに、ラベルのテキストに小さなフェード アニメーションを使用していることにも気付くでしょう。どうすれば同様のことを達成できますか?

ラベルのアルファを操作しようとしましたwillTransitionToStatedidTransitionToState、うまく機能しません。

4

1 に答える 1

1

iOS 5 の動作をチェックして、iOS 6 で追加された NSAttributedString のサポートによって有効になっていないことを確認しましたが、そうではないようです。それが事実であるため、それを再現する方法がいくつかあります。私は似たようなことをしましたが、これは正確ではありません.

次のことを試すことができます...

UILabel にマスク レイヤーを追加します。マスクレイヤーはすべてを通過させる必要があります。(したがって、blackColor は背景色として機能すると思います)。マスク レイヤーにサブレイヤーを追加します。このサブレイヤーがエフェクトのドライバーになります。背景色が黒から白にフェードアウトします (その下にあるものがフェードアウトします)。消えるラベルの領域にサブレイヤー マスクを適用します。フレームをこの領域に固定するだけでうまくいくはずです。サンプルコードが必要な場合はお知らせください。

編集:

このスレッドを見たことがありますか?これは、暗黙的に機能させるのに役立つ場合があります。 willTransitionToState を使用して uitableviewcell のテキストラベルをアニメーション化する

于 2012-10-17T22:37:48.147 に答える