Этот вопрос задан несколько раз, но, похоже, для этого не существует никакого решения.UITableViewCell reorder очищает цвет фона subview
UITableView reorder hides background
Subviews of UITableViewCell are not visible while reordering
Reordering causing subview 's backround color to clear
У меня есть обычай Tableview клетки с UILabel в нем. Когда tableview находится в режиме редактирования, и я перетаскиваю ячейку для изменения порядка, фон UILabel становится четким цветом. Я также обнаружил, что, если я попытаюсь переупорядочить выбранную ячейку (в моем режиме просмотра разрешен множественный выбор во время режима редактирования), цвет фона субвью остается.
Я попытался использовать методы в своем CustomCell, но ни один из них не переопределяет цвет фона подвью, когда таскается ячейка.
Я хочу, чтобы цвет фона подвидности оставался. Есть ли какой-нибудь метод, который я пропустил? Или Apple разработала его таким образом?
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
if (selected) {
if (self.isEditing) {
self.customLabel.backgroundColor = [UIColor blueColor];
}
else {
self.customLabel.backgroundColor = [UIColor blueColor];
}
}
else {
self.customLabel.backgroundColor = [UIColor blueColor];
}
}
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
[super setHighlighted:highlighted animated:animated];
if (highlighted) {
if (self.isEditing) {
self.customLabel.backgroundColor = [UIColor blueColor];
}
else {
self.customLabel.backgroundColor = [UIColor blueColor];
}
}
else {
self.customLabel.backgroundColor = [UIColor blueColor];
}
}
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
if (editing) {
self.customLabel.backgroundColor = [UIColor blueColor];
}
else {
self.customLabel.backgroundColor = [UIColor blueColor];
}
}
Спасибо за ваш ответ! Я попробовал ваш ответ, и сейчас фона остается, но он меняет цвет фона на черный. Как я могу изменить этот цвет? – SFF
Вы должны установить цвет при создании ярлыка в ячейке. self.customLabel.bac_color = [UIColor blueColor] – VladZ
Спасибо! Пожалуйста, дайте мне немного времени. Он нуждается в некотором уходе, поэтому я вернусь к вам, когда это будет сделано. Похоже, что это сработает :) – SFF