2012-10-17 74 views
0

在iPhone的mail.app中,每個電子郵件的摘要顯示在UITableView中。當用戶在一行上滑動時,標籤將被調整大小以容納刪除按鈕,並且文本被重新包裝(在較小的空間中,換行符可以移動)。調整UITableViewCell內容大小時對UILabel的過渡效果ViewView

我已經想出瞭如何更新標籤的寬度,使文本重新包裝。但是你也會注意到,Apple在重新對齊時在標籤的文本上使用了一個整齊的小褪色動畫。我怎樣才能達到類似的目的?

我試圖操縱willTransitionToStatedidTransitionToState中的標籤的alpha,但我無法完全解決它的問題。

+0

所以你有一個動畫塊的大小變化?它不是一個alpha事物,因爲只有正在移動的文本纔會進行交叉淡入淡出。編輯:澄清,我的意思不是在整個標籤上的阿爾法操縱。 – Matt

+0

他們可能正在做一個檢查,看看文本是否會被重新包裝。 –

回答

1

我檢查了iOS 5的行爲,以確保它沒有啓用iOS 6中對NSAttributedString的額外支持,並且它似乎不是。既然如此,我看到了一些重新創建它的方法。我做了類似的事情,但不是完全一樣,所以拿一點鹽(但我幾乎肯定它會有完全相同的效果)。

您可以嘗試以下操作...

將遮罩層添加到UILabel。蒙版圖層應讓所有內容通過。 (所以blackColor將作爲我認爲的背景色)。添加一個子圖層到遮罩層。這個子層將成爲效果的驅動程序。它會將背景顏色從黑色漸變爲白色(使其下面的內容淡出)。您希望將子圖層蒙版應用於正在消失的標籤區域。你可以將框架固定到這個區域,它應該解決問題。讓我知道你是否需要一些示例代碼。

編輯:

你見過這個線程?這可能有助於隱含起作用。 animate textlabel in uitableviewcell using willTransitionToState

相關問題