我有一個自定義UITableViewCell
。它有一個UIView
,它被添加到UITableViewCell
的「contentView」中。對於任何更新,我通過調用其「setNeedsDisplay
」並實現UIView的「drawRect」方法中的繪圖來重繪UIView
。自定義UITableViewCell和UIView的LayoutSubviews
UITableViewCell
覆蓋「willTransitionToState」並根據位掩碼值,要求重繪UIView。因爲我要求UIView
重新繪製自己,每次我做一個「滑動刪除」,我看到細胞「閃爍」一會兒;即使是由於刪除按鈕而沒有移動位置的文本也會因爲一切正在重繪而發生閃爍。
我知道,一個可能的解決方案是不是從「willTransitionToState」呼「setNeedsDisplay」中的UIView,而是稱之爲「setNeedsLayout」,並有UIView的實施「layoutSubviews」。
這是我被困在:我怎樣才能重新佈局我UIView
,因爲我UIView
爲「繪製」(我用「drawInRect」和字符串和圖像「drawAtPoint」方法)裏面的一切。在右側出現一個字符串,當「刪除」按鈕出現時(例如iPhone中的消息應用程序),我想隱藏該字符串。
我該如何做重新佈局而不是重新繪製?
謝謝!!!