2016-03-03 6 views
0

Я видел следующие вопросы, но не объяснял, что, хотя вы можете просто установить cell.SelectedStyle на UITableViewCellSelectionStyleGray или UITableViewCellSelectionStyleNone, вы не можете установить его selectionStyle в UITableViewCellSelectionStyleBlue.Почему вы не можете установить cell.selectionStyle = UITableViewCellSelectionStyleBlue?

Они просто предлагают взломы без объяснения причин. Я просто хочу знать, почему так, что я могу лучше понять Objective-C

UITableViewCellSelectionStyleBlue is not working

ios7 UITableViewCell selectionStyle won't go back to blue

Cannot change UITableView blue highlight color

+0

cell.selectionStyle = UITableViewCellSelectionStyleBlue следует разместить непосредственно перед возвратной ячейкой; –

ответ

5

Ваш не понравится ответ тогда. Начиная с iOS 7, установка

cell.selectionStyle = UITableViewCellselectionStyleBlue; 

теперь даст вам серый цвет. Apple избавилась от него в iOS 7, так что теперь selectionStyleBlue больше не существует как синий .. он серый.

Вот цитата из документации Яблока UITableViewCell класса Reference:

  • Синий

Клетка имеет цвет фона по умолчанию при выборе.

В iOS 7 цвет выбора больше не синий. Вместо этого используйте UITableViewCellSelectionStyleDefault.

Доступно в iOS 2.0 и более поздних версиях.

Конечно, как я уверен, вы нашли, вы можете создать UIView и установить его в качестве фона для симуляции синего выделения.

Вот ссылка для этого подхода: UITableView cell blue highlight on selection

Edit:

Просто чтобы быть ясно. UITableViewCellSelectionStyleBlue делает стиль выделения серым.

Нельзя использовать метод UITableViewCell по умолчанию, который делает стиль выбора синим цветом.

Чтобы сделать стиль выбора любым другим цветом, кроме серых по умолчанию, вам необходимо создать пользовательский UIView, как в ссылке, которую я предоставил.

+0

Спасибо! Apple избавилась от этого!?! Я не могу понять, что вы говорите. Я вижу это в 'UITableView.h': ' @property (неатомный) UITableViewCellSelectionStyle selectionStyle; // default - UITableViewCellSelectionStyle * Blue *.' ALSOOO:' ЬурейеЕ NS_ENUM (NSInteger, UITableViewCellSelectionStyle) { UITableViewCellSelectionStyleNone, UITableViewCellSelectionStyle * голубой *, UITableViewCellSelectionStyleGray, UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS (7_0) ' – Honey

+0

Смотрите мой выбор на вопрос .. UITableViewCellSelectionStyleBlue на самом деле серый .. Я знаете, что это запутывает, но все свойства UITableViewCellSelectionStyle будут серыми ... отныне просто притворяйтесь, что UITableViewCellSelectionStyleBlue не существует !! (bc его серый) –

+0

@ asma22 Apple изменила интерфейс при выпуске iOS 7. Они перестали использовать синий цвет для выбора (они фактически используют другой цвет в каждом приложении), и постоянная перестала иметь смысл, поэтому они переименовали его в 'default', который более разумно. – Sulthan

Смежные вопросы