UİTableViewCell küme hücre seçildiğinde kaybolur
Kullanıcı, diyelim ki, 10 renk (ürün bağlı) arasında seçebileceğiniz bir renk seçici, bir tablo görünümü oluşturuyorum. Kullanıcı, diğer seçenekleri de seçebilirsiniz (sabit disk kapasitesi gibi, ...).
Tüm renk seçenekleri kendi tableview kendi bölümün içinde.
Bu textLabel sol gerçek renk gösteren küçük bir kare göstermek istedim.
Şimdi basit bir kare UİView ekliyorum, bu gibi: doğru arka plan rengi verir
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:RMProductAttributesCellID];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:RMProductAttributesCellID] autorelease];
cell.indentationWidth = 44 - 8;
UIView *colorThumb = [[[UIView alloc] initWithFrame:CGRectMake(8, 8, 28, 28)] autorelease];
colorThumb.tag = RMProductAttributesCellColorThumbTag;
colorThumb.hidden = YES;
[cell.contentView addSubview:colorThumb];
}
RMProductAttribute *attr = (RMProductAttribute *)[_product.attributes objectAtIndex:indexPath.section];
RMProductAttributeValue *value = (RMProductAttributeValue *)[attr.values objectAtIndex:indexPath.row];
cell.textLabel.text = value.name;
cell.textLabel.backgroundColor = [UIColor clearColor];
UIView *colorThumb = [cell viewWithTag:RMProductAttributesCellColorThumbTag];
colorThumb.hidden = !attr.isColor;
cell.indentationLevel = (attr.isColor ? 1 : 0);
if (attr.isColor) {
colorThumb.layer.cornerRadius = 6.0;
colorThumb.backgroundColor = value.color;
}
[self updateCell:cell atIndexPath:indexPath];
return cell;
}
Bu sorun olmadan Güzel Görüntüler.
Seçtiğimde o benim tek sorun bir "renk" satır sırasında fade-mavi seçim animasyon, özel benim UİView (colorThumb) gizlidir. Deselection animasyon/seçim bitmeden kısa bir süre sonra tekrar görünür oluyor, ama bu çirkin bir obje oluşturur.
Ben bunu düzeltmek için ne yapmalıyım? Ben doğru yerde küme Ekle değil mi?
(Hiçbir şey didSelectRowAtİndexPath içinde özel bir şey yok, sadece hücrenin bir onay kutusu ya da bir şey, ve mevcut indexPath seçimini kaldırmak) için aksesuar değiştirme.
CEVAP
Tablo görünümünü hücre otomatik olarak vurgulanmış devlet için içeriği görüntülemek içindeki tüm görünümler arka plan rengini değiştirir çünkü. UIView
renk çizmek için sınıflara veya özel 1x1 px gergin görüntü ile UIImageView
kullanarak düşünebilirsiniz.
UİView backgroundColor UİTableViewCell...
Seçildiğinde bir UİTableViewCell yükse...
Nasıl özel bir hücre olmadan bir UİTab...
/Sözleşme uitableviewcell dinamik olar...
Seçilen UİtableViewCell seçildiğinde m...