簡體   English   中英

在UITableViewCell中,新的IOS5 UISwitch看起來沒有禁用

[英]New IOS5 UISwitch doesn't look disabled in a UITableViewCell

我在UITableViewCell放置了一個UISwitch ,我最初嘗試禁用它:

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

在IOS5之前的IOS版本中,(舊視)開關被禁用,並且在視圖出現時也看起來被禁用(變暗)。

在IOS5中,(新的)開關被禁用,我無法翻轉,但在此階段看起來沒有禁用。 它具有與啟用的開關相同的亮度。

如果我稍后在代碼中啟用並重新禁用它( cellForRowAtIndexPath: callback中),它看起來會被禁用(變暗)。

我做錯了什么或者這是IOS5中的錯誤?

對於它的價值,UISwitch的指定初始化程序是-initWithFrame: - 你嘗試過使用它嗎?

我遇到了與iOS 5相同的問題。您可以使用-initWithFrame來創建開關,然后您可以將開關添加為單元格contentView的子視圖和(不是附件視圖,不要忘記計算contentView的子視圖,否則您可以添加一個新的uiswitch)與-addSubview:方法。

我有同樣的問題,我通過將所有UISwitch保存在一個數組中來解決它。

然后在我的viewDidAppear上 ,我遍歷數組禁用它們。

- (void)viewDidAppear:(BOOL)animated {
    for (UISwitch *switchView in switchMArray) {
        switchView.enabled = NO;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM