在UITableViewCell中,新的IOS5 UISwitch看起来没有禁用

Ami*_*ark 6 iphone uiswitch ios ios5

UISwitchUITableViewCells中放置一个es ,我最初尝试禁用它:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    ...
    self.switch = [[UISwitch alloc] init];
    self.switch.enabled = NO;
    cell.accessoryView = self.switch;
    ...
}
Run Code Online (Sandbox Code Playgroud)

在IOS5之前的IOS版本中,(旧视)开关被禁用,并且在视图出现时也看起来被禁用(变暗).

在IOS5中,(新的)开关被禁用,我无法翻转,但在此阶段看起来没有禁用.它与启用的开关具有相同的亮度.

如果我稍后在代码中启用并重新禁用它(不在cellForRowAtIndexPath:回调中),它看起来会被禁用(变暗).

我做错了什么或者这是IOS5中的错误?

Dav*_*ham 3

就其价值而言,UISwitch 的指定初始化程序是-initWithFrame:\xe2\x80\x94 您尝试过使用它吗?

\n

  • 绕过指定的初始化程序可能会导致对象初始化不正确,这会给您带来麻烦。 (2认同)