0

我有一个UIControl可以有两个自定义状态的自定义 -> customEnabled/ customDisabled。此状态更改在UIControl技术上会导致隐藏/显示状态集的定义视图。到目前为止工作正常。

在内部使用时,UITableView我遇到以下问题:当重用一个启用了控件的单元格时,控件被禁用时,我会在短时间内看到启用然后禁用控件。

状态设置发生cellForRowAtIndexPathUITableViewController. 状态的设置器显示/隐藏视图。

有谁知道如何在没有“动画”的情况下获得适当的外观?

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 回答