0

UIControl2 つのカスタム状態 -> customEnabled/を持つことができるカスタムがありますcustomDisabled。この状態の変更は、UIControl技術的には、状態セットの定義済みビューを非表示/表示することになります。これまでのところうまくいきます。

内で使用する場合UITableView、次の問題があります。コントロールが無効になっているセルのコントロールを有効にしてセルを再利用すると、コントロールが有効になってから無効になるのが短時間見られます。

cellForRowAtIndexPathのメソッドで状態設定が行われていUITableViewControllerます。状態のセッターは、ビューを表示/非表示にします。

「アニメーション」なしで適切な外観を得る方法を知っている人はいますか?

4

2 に答える 2

1

表示/非表示を次のようにラップします

[CATransaction begin]; 
[CATransaction setValue: (id) kCFBooleanTrue forKey: kCATransactionDisableActions];
// do show/hide
[CATransaction commit];
于 2012-07-19T13:52:45.003 に答える
0

私は似たようなものを提案するつもりでした

[UIView setAnimationsEnabled:NO];
[UIView animateWithDuration:0.0 animations:^{
    // Code with animations turned off
} completion:^(BOOL finished){
    [UIView setAnimationsEnabled:YES];
}];
于 2012-07-19T14:03:01.733 に答える