Работа над преобразованием приложения iOS6 в iOS7, и они используют это для настройки сгруппированного стиля таблицы.В iOS7, cell.selectedBackgroundView не отображается
cell.backgroundView = aView;
cell.selectedBackgroundView = bView;
Когда приложение загружает, он загружает backgroundView правильно, но когда я нажимаю на ячейке selectedBackgroundView больше не работает в iOS7. Щелчок выбирает ячейку так, чтобы она работала, но selectBackgroundView просто не отображается.
Любые предложения? Единственное, что я могу думать, это не использовать selectedBackgroundView и просто добавлять и удалять subviews в ячейку каждый раз, когда они выбраны и не выбраны.
/// /// UPDATE
Put это в моем cellForRowAtIndex и до сих пор НЕ работу.
UIView *bgColorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
bgColorView.backgroundColor = [UIColor colorWithRed:(76.0/255.0) green:(161.0/255.0) blue:(255.0/255.0) alpha:1.0]; // perfect color suggested by @mohamadHafez
bgColorView.layer.masksToBounds = YES;
cell.selectedBackgroundView = bgColorView;
//// UPDATE 2 ///////////
Если я кладу это в моем cellforRowAtIndex
cell.selectedBackgroundView = nil;
cell.backgroundView = nil;
UIView *bgColorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
bgColorView.backgroundColor = [UIColor colorWithRed:(76.0/255.0) green:(161.0/255.0) blue:(255.0/255.0) alpha:1.0]; // perfect color suggested by @mohamadHafez
bgColorView.layer.masksToBounds = YES;
cell.selectedBackgroundView = bgColorView;
UIView *bgSColorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
bgSColorView.backgroundColor = [UIColor colorWithRed:(106.0/255.0) green:(201.0/255.0) blue:(255.0/255.0) alpha:1.0]; // perfect color suggested by @mohamadHafez
bgSColorView.layer.masksToBounds = YES;
cell.backgroundView = bgSColorView;
Оба шоу cell.background как bgSColorView , но когда я нажимаю на ячейку, ничего не происходит (иначе выбранный BackgroundView НЕ отображается? Почему выбранный BackgroundView не будет продвигаться и показываться?
/// UPDATE 3 //// Я положил t его в моем setSelectin: анимация: для моего класса ячеек (удалено выше).
UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor colorWithRed:(76.0/255.0) green:(161.0/255.0) blue:(255.0/255.0) alpha:1.0]; // perfect color suggested by @mohamadHafez
bgColorView.layer.masksToBounds = YES;
self.selectedBackgroundView = bgColorView;
UIView *bgSColorView = [[UIView alloc] init];
bgSColorView.backgroundColor = [UIColor colorWithRed:(106.0/255.0) green:(201.0/255.0) blue:(25.0/255.0) alpha:1.0]; // perfect color suggested by @mohamadHafez
bgSColorView.layer.masksToBounds = YES;
self.backgroundView = bgSColorView;
[super setSelected:selected animated:animated];
Теперь оно кажется правильным, так как я хочу его. Но второй я нажимаю любую ячейку BOOOM, фон и selectionBackgroundView удаляются мгновенно, исчезают.
В 7 Apple, сделал что-то с фоном ячейки. Они поместили непрозрачный белый слой в «выше» фона, и он исчезнет, только если вы сделаете setBackgroundColor на ячейке * внутри * cellForRowAtIndexPath (сделать это в XIB недостаточно). Не уверен, как это может повлиять на фоновое изображение, но вам может потребоваться установить цвет фона для очистки. –
Вы подклассифицируете 'UITableViewCell'? – sooper
Да, это подклассы.Но я просто изменил его подкласс UITableViewCell и все тот же результат. – jdog