[英]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.